So aktualisieren Sie die Navigationseigenschaften eines Elements in Entity Framework

8

In ASP .NET MVC 3 mit Entity Framework habe ich ein Domänenobjekt mit einer Navigationseigenschaft, die wie folgt auf andere Objekte verweist:

%Vor%

Wenn ich eine Instanz von Person erstelle und versuche, sie zur Datenbank hinzuzufügen, behält der DBContext einen Cache dieser Entität 'Person' und sendet ihn an die Datenbank. Später in der Lebensdauer der gleichen Kontextinstanz, wenn ich versuche, auf diese Entität zuzugreifen, ist das Feld Company immer Null, da die Navigationseigenschaft nie aktualisiert wurde.

Gibt es eine Möglichkeit, die Navigationseigenschaft mit dem in der Datenbank vorhandenen zu aktualisieren?

Lazy loading ist eingeschaltet.

    
daniely 10.05.2012, 21:12
quelle

1 Antwort

11

Wenn Lazy Loading aktiviert ist und Sie die Navigationseigenschaft mit Lazy Loading laden möchten, müssen Sie einen Proxy eines neuen Person erstellen, nicht instanziieren Sie ihn mit new , so:

%Vor%

Ohne Lazy Loading können Sie explizit laden:

%Vor%     
Slauma 10.05.2012, 23:05
quelle