EntityFramework中几种更改数据的方式

来源:互联网 发布:数据库原理及其应用pdf 编辑:程序博客网 时间:2024/05/10 15:00

首先声明个实体类,该实体类是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就是DbContextdb.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的值.

本文为头条号作者发布,不代表今日头条立场。

0 0
原创粉丝点击