Entities Framework Zuordnung zwischen Ansicht und Tabelle

9

Ich kann intuitiv 1: 1 (Eins-zu-eins) -Tabellen wie folgt abbilden:

Aber ich kann nicht verstehen, wie man das gleiche Mapping zwischen einer Tabelle und einer VIEW macht, so

In diesem Diagramm sind die zwei Entitäten dargestellt. Wenn ich im Entitätsmodell manuell eine Zuordnung erstelle und seine Zuordnung wie folgt einstelle:

Dann bekomme ich den Fehler:

  

Fehler 3021: Problem beim Zuordnen von Fragment ab Zeile 172: Jede der folgenden Spalten in der Tabelle view_EmployeeView ist mehreren konzeptionellen Seiteneigenschaften zugeordnet:   view_EmployeeView.EmployeeID ist Employeesview_EmployeeView.Employees.id, Employeesview_EmployeeView.view_EmployeeView.EmployeeID

zugeordnet

Warum sollte ich diesen Fehler bei der Tabellen-Tabellen-Zuordnung nicht bekommen? Wie löse ich dieses Problem? Ich möchte einige berechnete Informationen in eine Ansicht einfügen, aber ich schließe mich explizit an, wenn ich mit der .Include () - Funktion brauche.

    
tenfour 26.07.2010, 15:12
quelle

1 Antwort

5

Um eine Zuordnung zwischen zwei Entitäten zuzuordnen, darf der Fremdschlüssel nicht gleichzeitig der Primärschlüssel sein.

Was Sie wirklich hier haben, ist eine TPT-Vererbung. Sie haben eine "Basis" -Klasse und optional zusätzliche Eigenschaften in einer zweiten Tabelle (oder Ansicht).

Sehen Sie sich dieses Video an: Ссылка

Machen Sie die Entität "Ansicht" von der Entität "Employee" erben. Entfernen Sie die EmployeeID-Eigenschaft aus der Ansichtseinheit. Ordnen Sie die EmployeeID-Spalte der Ansicht der ID-Eigenschaft des Basismitarbeiters zu. Sie erhalten ein einzelnes ObjectSet in Ihrem ObjectContext für diese Hierarchie.

    
Ray Henry 01.10.2010, 17:54
quelle

Tags und Links