prb*_*prb 5 c# entity-framework
出于性能原因,我在 DbContext 上设置了 AutoDetectChangesEnabled = false。
更新简单属性和引用属性都可以正常工作,但我在处理多对多且没有连接类的集合属性时遇到了麻烦。
这是尝试添加到集合中的缩写代码:
var item = context.Set<Item>().FirstOrDefault();
var category = context.Set<Category>().FirstDefault();
context.Entry(item).Collection(i => i.Categories).CurrentValue.Add(category);
Run Code Online (Sandbox Code Playgroud)
但它什么也没做,在 SaveChanges 之后数据库与以前相同。这是这样做的正确方法吗?
称呼:
context.ChangeTracker.DetectChanges();
Run Code Online (Sandbox Code Playgroud)
或者:
context.Entry(item).State = EntityState.Modified;
Run Code Online (Sandbox Code Playgroud)