ADO.NET Entity Framework: Der Update-Assistent fügt keine Tabellen hinzu

.net ado.net entity-framework primary-key visual-studio-2008

Frage

Ich fügte meinem Projekt ein neues ADO.Net-Entitätsdatenmodell hinzu und verwendete den Aktualisierungs-Assistenten , um dem Modell Tabellen hinzuzufügen. Fünf der ausgewählten Tabellen wurden der Designoberfläche hinzugefügt. Zwei weitere Tabellen werden nicht hinzugefügt. Ich wähle sie im Assistenten aus und klicke auf Fertig stellen. Sie werden jedoch nie auf der Entwurfsoberfläche angezeigt.

Ist das ein Fehler oder gibt es Situationen, in denen dem Modell keine Tabelle hinzugefügt werden kann (nach Entwurf)?


UPDATE: Das XML (* .edmx) enthüllt das Problem.

<!--Errors Found During Generation:
warning 6013: The table/view 'FooBar.dbo.Roles' does not 
have a primary key defined and no valid primary key could be inferred. 
This table/view has been excluded. To use the entity you will need to 
review your schema, add the correct keys and uncomment it.-->
<!--<EntityType Name="Roles">
    <Property Name="role_id" Type="decimal" />
    <Property Name="role_desc" Type="nvarchar" MaxLength="30" />
</EntityType>-->

Danke Craig für deine Antwort.

Akzeptierte Antwort

Die Entwurfsoberfläche unterscheidet sich vom Entitätsmodell. Es ist möglich, eine Tabelle in der Zuordnung in Ihrem EDMX zu haben, die nicht auf der Entwurfsoberfläche angezeigt wird. Sehen Sie sich die Datei als XML an, um zu sehen, ob dies der Fall ist. In diesem Fall können Sie mit dem Aktualisierungs-Assistenten die Tabellen nicht erneut hinzufügen, da diese bereits Teil des Entitätsmodells sind. Im Allgemeinen weiß der Update-Assistent mehr über Ihr Entitätsmodell als über die Entwurfsoberfläche an sich .

Ich denke nicht, dass dies genau die Situation ist, in der Sie sich befinden, aber es sollte Ihnen die allgemeine Idee für die Lösung geben: Gehen Sie in XML und suchen Sie nach Verweisen auf die betreffenden Tabellen.


Beliebte Antwort

Legen Sie Primärschlüssel für alle Tabellen oder nur ein Kontrollkästchen "Null zulassen" für jede Spalte jeder Tabelle fest. Für mich geht das :)



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum