1. EF 中的五個對象狀態(tài):
對象狀態(tài)
- 所有狀態(tài)之間可以 通過tdc.Entry(p).State=EntityState.Modified進(jìn)行狀態(tài)轉(zhuǎn)換
2. EF一些應(yīng)用:
ctx.Entry(p).Property(a => a.Name).IsModified = true
//告訴編譯器這個屬性改變了
3.EF簡單的一個優(yōu)化:
查詢出來的對象 只是供顯示使用,不會修改、刪除后保存!
- AsNoTracking()查詢出來的對象是Detached狀態(tài),EF不在跟蹤狀態(tài)的改變,能夠提升性能
- AsNoTracking()是 DbQuery 類(DbSet 的父類)的方法,所以要先在 DbSet 后調(diào)用AsNoTracking()
tdc.Persons.AsNoTracking().Where(i=>i.ID>2)