DbContext API 的一些关键点

  * DbContext API 的一些关键点
                 * 
                 * db.Categories.Find() - 通过传递主键值作为参数查找实体,复合主键就传多个参数
                 * db.Categories.Add() - 把一个新增的实体添加到上下文
                 * db.Categories.Attach() - 把一个已存在的实体添加到上下文
                 * db.Entry(entity).State = System.Data.EntityState.Modified - 修改实体状态
                 * db.Categories.AsNoTracking() - 不被 Context 跟踪,通过 NoTracking 获取的实体,其状态是 Detached 状态。当仅仅是获取数据的时候可以用,有助于提高效率
                 * 属性的相关操作,当属性改变时,会自动监测实体状态,即 IsModified = true
                 *     db.Entry(product).Property(p => p.Name).CurrentValue
                 *     db.Entry(product).Property("Name").CurrentValue
                 * 直接加载(Eager loading)的方法
                 *     db.Categories.Include(p => p.Products.First())
                 *     db.Categories.Include(p => p.Products)
                 *     db.Entry(product).Reference(p => p.Category).Load()
                 * 使用 sql
                 *     db.Categories.SqlQuery("select * from Categories").ToList() // 有实体的情况
                 *     db.Database.SqlQuery<string>("select Name from Categories").ToList(); // 无实体的情况
                 *     db.Database.ExecuteSqlCommand(sql); // 直接执行 sql

原文地址:https://www.cnblogs.com/shanhe/p/3862485.html