EntityFramework中幾種更改數據的方式


首先聲明個實體類,該實體類是EntityFrameWork自動生成的,對應數據表Test結構如下

public partial class Test
    {
        public int Id{ get; set; }--主鍵
        public string Name{ get; set; }
        public string Address{get;set;}

    }

 

第一種修改實體的方法:

                   Test a=new Test();

                   a.id=1;--1是數據庫中Test表某條記錄的ID值

                   a.Name="name";

                   a.Address="address";

db.Entry(a).State = EntityState.Modified; --db就是DbContext

db.Entry(a).Property(item => item.Name).IsModified = false;
db.SaveChanges();

這時候Address的值會更新到表Test Id為1的Address字段,但是對應記錄的name的值不會變化,此方法適合表字段比較多,需要大批量修改表字段內容的.

 

第二種修改實體的方法:

      

       Test a=new Test(){Id=1,Name="name",Address="Address"};

       db.Test.Attach(a);

       db.Entry(a).Property(x => x.Name).IsModified = true;

       db.SaveChanges();

這時候只有Name的值會更新,這種方法適合更新少部分字段的時候使用

 

 

第三種修改實體的方法:

              

           var a= db.Test.Where(p => p.Id == 1).First();
              a.Name="name";
              db.SaveChanges();

只會更改name的值.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM