ORM框架高级应用

  • 处理数据库映射的主键和表明的变化

  • 处理数据表的结构变化

  • 在数据库修改的时候必须是增加数据跟踪,或者是先查询出来,因为在context上修改的时候需要知道主键,在不知道上下文是什么的情况下没法进行修改

  • 只更新一个属性

  • context生命周期
    1.一次性保存全部变化,根据业务判断使用context是否要使用同一个,同一个context使用同一个事务


    2.asNoTraching()表示在执行数据库sql的时候不进行本地缓存
    在Find()的时候还会重新调用缓存进行数据的查找


    3.处理带有外键关联的两表或者是多表的时候进行处理的逻辑(导航属性)实体上就是在主表上加外键,并加上子表List

  •  


    4.添加主从数据

     5.使用事务添加数据

     

     同一个context走同一个事务

     同一个事务不同context

     非级联删除(首先从数据库获取数据,保存到缓冲当中,然后在缓存中将数据删除,因为使用Remove删除数据,相当于在缓存中将数据删除了,Company中的Users数据已经被删除,此时再进行context的提交才能将数据删除掉)

     级联删除(1.首先在数据库中将数据中将子表的外键设置成要删除的状态,2.在删除主表的时候就会自动将数据删除)不用EF中的属性

     

     

     

     

     

     

     

     

posted @ 2024-03-04 14:09  电器小君子  阅读(14)  评论(0)    收藏  举报