Im ADO.Net Entity Framework habe ich ein Objekt mit 4 Referenzen zu anderen Objekten. Wenn ich diese Referenzen abfrage, werden zwei von ihnen automatisch (wie erwartet) geladen, und zwei von ihnen geben immer null zurück.Entity Framework-Referenzen werden nicht automatisch geladen
Bizarr genug, wenn ich manuell frage die Referenzen zu laden, laden sie nur Dandy.
Als Beispiel:
if (account.HoldingEntity == null &&
account.HoldingEntityReference.EntityKey != null) {
account.HoldingEntityReference.Load();
account.HoldingEntity = account.HoldingEntityReference.Value;
}
Als ich das HoldingEntity
überprüfen es immer null ist, aber die Last der HoldingEntity ohne Probleme zurück.
Irgendwelche Hinweise?
Danke!
Perfect, das es zu lösen, danke! Ich denke, was ich immer noch nicht verstehe, ist, warum zwei der Referenzen automatisch laden, und zwei von ihnen nicht? – gerrod
Das stimmt nicht ganz (zumindest ab EF 4 habe ich nie mit EF 1 gearbeitet). Sie können angeben, welche Referenzen automatisch (und sofort) geladen werden sollen, aber Sie können sich auch darauf verlassen, dass das Laden nach Bedarf geladen wird. Lazy Loading scheint jedoch auch in EF 4 gebrochen zu sein, so dass dies aus praktischer Sicht wahrscheinlich immer noch die richtige Antwort ist. Siehe http://msdn.microsoft.com/en-us/library/bb896272.aspx –