Gewusst wie: Zuordnen einer GUID-Eigenschaft zu einer binären Spalte (Entity Framework)
In diesem Thema wird beschrieben, wie eine EDMX-Datei manuell bearbeitet wird, um eine binäre Spalte, in der uniqueidentifier-Werte in der Datenquelle gespeichert werden, einer GUID-Eigenschaft im konzeptionellen Modell zuzuordnen. Beim Generieren oder Aktualisieren eines Datenmodells mit dem Assistent für Entity Data Model oder dem Modellaktualisierungs-Assistent (Entity Data Model-Tools) werden automatisch GUID-Eigenschaften von Entitätstypen für uniqueidentifier-typisierte Spalten in der Datenquelle generiert. Eine Datenquelle kann auch binäre 16-Byte-Spalten zum Speichern von GUID-Werten verwenden. Da die Tools für jede binäre Spalte in der Datenquelle eine binäre Eigenschaft generieren, müssen Sie die Zuordnung zwischen diesen Spalten und GUID-Eigenschaften durch Bearbeiten der EDMX-Datei manuell aktualisieren.
Das Verfahren in diesem Thema setzt voraus, dass Sie eine gültige EDMX-Datei in Visual Studio geöffnet haben.
Hinweis: |
---|
Die in diesen Verfahren beschriebenen Änderungen am SSDL-Abschnitt einer EDMX-Datei werden überschrieben, wenn Sie das Modell mithilfe des Modellaktualisierungs-Assistenten aktualisieren. |
So ordnen Sie einer binären Spalte, die GUID-Werte enthält, eine GUID-Eigenschaft zu
Wählen Sie im Entity Data Model Designer die Eigenschaft aus, die in einen GUID-Typ geändert werden soll.
Ändern Sie im Fenster Eigenschaften den Typ von Binary in Guid.
Wenn Sie jetzt versuchen, das Projekt zu erstellen, tritt ein Zuordnungsfehler auf.
Speichern Sie das Modell, schließen Sie den Entity Data Model Designer, und öffnen Sie die EDMX-Datei im XML-Editor.
Suchen Sie im SSDL-Abschnitt nach der binären Eigenschaft, die der GUID-Eigenschaft im CSDL-Abschnitt entspricht.
Ändern Sie den Wert des Type-Attributs dieser Eigenschaft in
uniqueidentifier
. Weitere Informationen finden Sie unter Property Element (EntityType SSDL).Speichern Sie die Änderungen am Modell, und erstellen Sie die Projektmappe neu, um die Datenklassen erneut zu generieren.