EF的使用小知识点

数据简单的包括增删改查,EF框架让增删改查更加的明了。

进行各项操作都需要进行创建数据上下文对象,最后进行SaveChanges()方法执行,才会真正的生成SQL语句。

数据上下文为dbContext

1、增加

  1)创建实例对象

  2)使用Add()方法

  3)此处还应该改EF实体对象(DBEntryEntry的状态)这样更加的保险

  

2、删除

  EF推荐的方法的都是先进行查找,找到之后再进行删除操作

  方法一

  1)使用Where方法进行查找,找到之后会自动添加到EF容器中,此时的状态为unchanged,当然如果查询的时候使用了AsNoTracing()方法,就不会自动添加到EF容器中

  2)调用Remove()方法即可

  方法二

  1)自行创建实体对象,

  2)调用Attach()方法把实体对象添加到EF的容器中,此时的EF实体对象的状态为unchanged

  3)调用Remove()方法

  方法三

  1)创建实体对象

  2)创建EF实体对象,使用Entry(实体对象),返回EF代理类,改变EF代理类的状态Deleteed

  方法四

  非常不推荐,调用原生SQL语句,dbContext.database.ExecuteSql(SQL语句)

3、修改

  方法一

  1)查找出对象

  2)修改对象的属性值

  方法二

  1)手动创建实体对向

  2)修改EF容器检查dbContext.Configuration.ValidateOnSaveEnabled = false;

  3)创建EF实体对象的代理类Entry DBEntryEntry dnentry=dbContext.Entry(实体对象);

  4)修改属性的IsModified为true  dnentry.Property(属性名称).IsModified=true

  方法三

  执行SQL语句

4、查找

  联表查询:要使用Include("要联表的表名") //这个一个需要主外键的关系,使用Linq 应该不要主外键的关系,还没验证

  分页查询 Skip().Take(),分页查询的时候一定先进行排序

  可以执行存储过程

 

以上都可以使用Linq进行实现,

  

  

posted @ 2016-03-15 13:14  通信的搞程序  阅读(653)  评论(0)    收藏  举报