Sobes.tech
Middle

როგორ იტვირთება Entity Framework-ით ობიექტები მონაცემთა ბაზაში?

sobes.tech AI

პასუხი AI-სგან

Entity Framework දත්ත සමුදායට අයිතමයන් බරවීම සඳහා SQL විමසුම් නිර්මාණය කිරීම මඟින් ක්‍රියාත්මක වේ, එවිට වෙනස්කම් අධීක්ෂණය කරමින් ඒවා මත INSERT, UPDATE හෝ DELETE විධාන නිර්මාණය කර ඒවා ක්‍රියාත්මක කරයි.

ප්‍රතික්‍රියාව මෙසේ වේ:

  1. වෙනස්කම් අධීක්ෂණය: DbContext එක එක් එක් අයිතමයේ තත්වය අධීක්ෂණය කරයි (Added, Modified, Deleted, Unchanged).
  2. ඇණවුම් නිර්මාණය: අධීක්ෂණය කළ වෙනස්කම් මත Entity Framework සම්බන්ධ SQL විධාන (INSERT, UPDATE, DELETE) නිර්මාණය කරයි.
  3. විධාන ක්‍රියාත්මක කිරීම: නිර්මාණය කළ විධාන දත්ත සමුදායට යොමු කර ක්‍රියාත්මක කරයි.

උදාහරණයක් ලෙස අලුතින් එකතු කළ අයිතමයක් සුරක්ෂිත කිරීම:

// දත්ත සන්දර්භය නිර්මාණය
using (var context = new MyDbContext())
{
    // අලුතින් අයිතමයක් නිර්මාණය
    var newUser = new User { Name = "ඉවන්" };

    // අයිතමය සන්දර්භයට එකතු කිරීම
    context.Users.Add(newUser);

    // වෙනස්කම් සුරක්ෂිත කිරීම
    context.SaveChanges();
}

මෙම උදාහරණයේ context.SaveChanges() ක්‍රියාවලිය ආරම්භ කරයි. EF SQL විමසුමක් නිර්මාණය කරයි: INSERT INTO Users (Name) VALUES ('ඉවන්'); එය දත්ත සමුදායේ ක්‍රියාත්මක කරයි.

අයිතමයක් යාවත්කාලීන කිරීම:

using (var context = new MyDbContext())
{
    // අයිතමය ලබා ගැනීම
    var userToUpdate = context.Users.Find(1);

    // ගුණාංගය වෙනස් කිරීම
    userToUpdate.Name = "පෙත්";

    // වෙනස්කම් සුරක්ෂිත කිරීම
    context.SaveChanges();
}

මෙහි SaveChanges() SQL විමසුමක් නිර්මාණය කරයි: UPDATE Users SET Name = 'පෙත්' WHERE Id = 1;.

අයිතමයක් මකා දැමීම:

using (var context = new MyDbContext())
{
    // අයිතමය ලබා ගැනීම
    var userToDelete = context.Users.Find(2);

    // අයිතමය සන්දර්භයෙන් මකා දැමීම
    context.Users.Remove(userToDelete);

    // වෙනස්කම් සුරක්ෂිත කිරීම
    context.SaveChanges();
}

මෙම අවස්ථාවේ SaveChanges() SQL විමසුමක් නිර්මාණය කරයි: DELETE FROM Users WHERE Id = 2;.

Entity Framework Core තවදුරටත් බහුකරණ සුරක්ෂිත කිරීම (batch saving) හැකියාව සපයයි, එහිදී කිහිපයක් INSERT, UPDATE, DELETE ක්‍රියාකාරකම් එකට හෝ කිහිපයකට එකතු කර දත්ත සමුදායට වැඩි දියුණු ක්‍රමයකින් යවයි. මෙය දත්ත සමුදා සැපයුම්කරු සහ එහි හැකියාවන් මත منحصر වේ.