【发布时间】:2021-06-21 15:14:02
【问题描述】:
为什么 EF6 不能通过这个错误给我更多信息?
我尝试使用 db.Database.Log 但这没有给我任何东西。我只想知道是哪个领域导致了这个问题,因为我没有看到。
谢谢
【问题讨论】:
为什么 EF6 不能通过这个错误给我更多信息?
我尝试使用 db.Database.Log 但这没有给我任何东西。我只想知道是哪个领域导致了这个问题,因为我没有看到。
谢谢
【问题讨论】:
我从this问题获得的更多信息:
#if DEBUG
db.ChangeTracker.DetectChanges(); // Force EF to match associations.
var objectContext = ((IObjectContextAdapter)db).ObjectContext;
var objectStateManager = objectContext.ObjectStateManager;
var fieldInfo = objectStateManager.GetType().GetField("_entriesWithConceptualNulls", BindingFlags.Instance | BindingFlags.NonPublic);
var conceptualNulls = fieldInfo.GetValue(objectStateManager);
#endif
conceptualNulls 是一个 HashSet,EntityEntry 是一个内部类,因此您只能在调试器中检查集合以了解冲突实体。仅用于诊断目的!!! (感谢Gert Arnold)
【讨论】: