Ich habe meinem Entitätsmodell eine Datenbankansicht hinzugefügt. Jetzt versuche ich eine ObjectSet
in meine ObjectContext
zu setzen, damit ich auf die Ansicht in meiner Anwendung zugreifen kann.WPF-Entität kann kein ObjectSet einer Sicht erstellen?
Für normale Tische meine ObjectSet
würde wie folgt aussehen:
private ObjectSet<StarVendor> _StarVendor;
public ObjectSet<StarVendor> StarVendor
{
get
{
if ((_StarVendor == null))
{
_StarVendor = base.CreateObjectSet<StarVendor>("Stratus_X_TestEntities.StarVendors");
}
return _StarVendor;
}
}
Also tat ich das gleiche für meine Ansicht:
private ObjectSet<CatalogItemSearch> _CatalogItemSearch;
public ObjectSet<CatalogItemSearch> CatalogItemSearch
{
get
{
if ((_CatalogItemSearch == null))
{
_CatalogItemSearch = base.CreateObjectSet<CatalogItemSearch>("Stratus_X_TestEntities.CatalogItemSearch");
}
return _CatalogItemSearch;
}
}
Aber wenn der Code ausgeführt wird erhalte ich eine Ausnahme:
System.InvalidOperationException "Der EntitySet-Name 'Stratus_X_TestEntities.CatalogItemS earch‘konnte nicht gefunden werden“
Ich weiß, dass ich für eine Ansicht nicht benötigen Sie das Add/update/delete-Funktionalität, die ObjectSet
bietet.
Gibt es eine alternative Set-Art, die ich dafür verwenden sollte?
oder könnte dieser Fehler von etwas sein, das völlig unabhängig davon ist, dass es eine Ansicht ist?
dank
Wie ich verstanden habe, ist es Code First Ansatz? – StepUp
Die Ansicht wird mit der Funktion 'Update Model from Database' in die .edmx gezogen. Ich konnte keine nützliche .tt-Datei finden, um meinen ObjectContext zu generieren, so dass dieser Teil von Hand geschrieben wird. So ist es nicht genau "Code zuerst", wie ich es verstehe – Shaboboo
Update-Modell aus der Datenbank ist Datenbank zuerst –