0
我使用DbContext。
爲依賴實體懸掛外鍵
看看這些代碼兩個變種:
var context = new MyEntities();
context.Configuration.LazyLoadingEnabled = false;
var item = context.Items.OrderBy(i => i.Id).First();
var oCtx = (context as IObjectContextAdapter).ObjectContext;
var relationshipManager = oCtxc.ObjectStateManager.GetRelationshipManager(item);
這一個:
var context = new MyEntities();
context.Configuration.LazyLoadingEnabled = false;
var item = context.Items.OrderBy(i => i.Id).First();
context.Entry(item);
var oCtx = (context as IObjectContextAdapter).ObjectContext;
var relationshipManager = oCtxc.ObjectStateManager.GetRelationshipManager(item);
唯一的區別是呼叫context.Entry(item);
我有differen結果。
在第一種情況下relationshipManager.Relationships.Count
等於1
在第二個 - 5
項目有一個外鍵屬性和RelationshipManager爲它創建懸掛鍵。沒關係。
不應該ObjectContext查詢具有關係'一對多關係'的項目的從屬實體的關鍵字嗎?
這絕對是DbContext.Entry()
在幕後做的,但我認爲這是由ObjectContext實現的。