使用ObjectContext:
var objContext = new ObjContextEntities();
var accountType = objContext.AccountTypes.FirstOrDefault(x => x.Id == 0);
accountType.Name = "ABC";
var stateEntry = objContext.ObjectStateManager.GetObjectStateEntry(accountType);
Console.WriteLine(stateEntry.GetModifiedProperties().Count()); //--------> Outputs 1 as expected
Run Code Online (Sandbox Code Playgroud)
使用DbContext:
var dbContext = new DbContextEntities();
var accountType = dbContext.DBAccountTypes.FirstOrDefault(x => x.Id == 0);
accountType.Name = "XYZ";
var dbObjContext = ((IObjectContextAdapter)dbContext).ObjectContext;
var stateEntry = dbObjContext.ObjectStateManager.GetObjectStateEntry(accountType);
Console.WriteLine(stateEntry.GetModifiedProperties().Count()); //--------> Outputs 0
Run Code Online (Sandbox Code Playgroud)
我想迁移到使用DbContext但我有代码依赖于此功能.这是一个已知的错误?任何人都可以提出替代方法吗?谢谢.