Innerhalb SQL Ich habe Tabelle, die Primärschlüssel als Binär (8) haben. Als ich diese Tabelle auf meinem Modell hinzufügen Update Model from Database
verwendet, kann ich sehen, dass diese Spalte hat Typ = Binary
EntityFramework Datenbank zuerst - Typ Zuordnung - Zuordnung binary (8) von SQL zu int in C#
und in C# ich diese Spalte als byte[]
bekommen.
Kann ich diese Spalte auf int abbilden?
Ich weiß, dass ich eine Ansicht mit CAST
in SQL erstellen:
SELECT
Client_Id,
CAST(Client_Id AS INT) AS NewClient_Id,
* /*other columns*/
FROM
dbo.Clients
aber das ist keine Lösung, weil ich in der Lage sein muss, schreiben, nicht nur aus dieser Tabelle lesen. Ich weiß, dass ich gespeicherte Prozeduren für Einfügungen erstellen kann, aber das möchte ich vermeiden.
Ich bin usinf EntityFramewor 6.1.3.
Willst du auch versuchen, ein Quart in einen Pint-Topf zu passen? 'binary (8)' enthält 8 Bytes. Ein 'int' in C# enthält 4 Bytes. Siehst du das Problem hier? –
@Damien_The_Unbeliever Sorry, wenn ich etwas falsch geschrieben habe, aber ich versuche, das funktioniert zu bekommen. Ich dachte, wenn ich 'CAST' in SQL machen kann, dann kann EF vielleicht für mich das tun. Ich kann dieses 'byte []' im Code selbst in int umwandeln, aber ich dachte, dass EF dies eingebaut hat, ich weiß einfach nicht, wie ich das einschalte oder es konfiguriere. – Misiu
Sie können in eine Ansicht schreiben. Sie müssen jedoch Trigger für Ihre Ansicht bereitstellen, damit der Wert zurück konvertiert werden kann. Auch binary 8 ist eine lange IIRC – Mark