Ich habe mein Entity Framework 4.3 Datenbank erstes Projekt auf das neue Entity Framework 5 aktualisiert.
Anscheinend verwende ich jetzt DbContext anstelle von ObjectContext.
LoadProperty in Entity Framework 5
Ich habe meine alte EDMX-Datei durch eine neue ersetzt. Mein alter Business Code, die zuvor wurde meine 4.3 .edmx Datei, hat jetzt ein Problem mit dem Code der LoadProperty
Methode:
using (var context = new MyEntities())
{
Models.User user = context.Users.First(x => x.GUID == guid);
context.LoadProperty(user, o => o.Settings);
return user;
}
Es scheint, dass LoadProperty keine verfügbare Methode in DbContext ist.
Wie kann ich trotzdem stark typisiert laden?
Ich glaube, ich
context.Users.Include("Settings")
verwenden könnte, aber das ist nicht stark typisierte und anfällig für Fehler.
Sie Sie haben EF4.3 nicht verwendet, wenn Sie ObjectContext verwendet haben - EF4.3 war im Grunde alles über DbContext ... Wenn Lazy Loading aktiviert ist, können Sie einfach die .Settings-Eigenschaft verwenden, ohne sie explizit laden zu müssen. Beachten Sie, dass dies zu einem Trip zu einer Datenbank führen kann. Wenn Sie dies häufig tun, ist es möglicherweise günstiger, .Include() wie unten angegeben zu verwenden. – Pawel
@Pawel: Oh Entschuldigung. Ich habe eine Frage zu einem anderen Problem gelesen, dem ich nach dem Update begegnet bin und habe es mit "Lehrling" zitiert, um meine Situation besser zu beschreiben. Ich habe diesen Satz durchgestrichen. – citronas