Ef code first EF代码优先:如何在保存更改之前选择包含更改的数据?
我无法解释代码。看看不同的行为:Ef code first EF代码优先:如何在保存更改之前选择包含更改的数据?,ef-code-first,Ef Code First,我无法解释代码。看看不同的行为: var project = DB.Project.Find(1000111); project.MustLinkToMF = false; // Includes id = 1000111; MustLinkToMF = false; - From Cache? var projects1 = DB.Project.Select(p => p).ToList(); // D
var project = DB.Project.Find(1000111);
project.MustLinkToMF = false;
// Includes id = 1000111; MustLinkToMF = false; - From Cache?
var projects1 = DB.Project.Select(p => p).ToList();
// Doesn't contain 1000111! - Not From Cache?
var projects2 = DB.Project.Where(p => p.MustLinkToMF == false).Select(p => p).ToList();
DB.SaveChanges();
如何获取缓存数据,包括我的更改?
在保存更改之前,如何使用一个简单的查询获取项目2?
谢谢大家! 您可以在一级缓存中浏览实体:
ctx.ChangeTracker.Entries().Where(x => x.State == EntityState.Modified).Select(x => x.Entity).OfType<T>()
ctx.ChangeTracker.Entries()。其中(x=>x.State==EntityState.Modified)。选择(x=>x.Entity)。OfType()
只需替换EntityState。根据需要进行修改。
请参见此处的示例: