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进行实现,

浙公网安备 33010602011771号