Wie ordne ich eine char-Eigenschaft mithilfe der flüssigen API von Entity Framework 4.1 "Code only" zu?
Ich habe ein Objekt, das eine char-Eigenschaft:
public class Product
{
public char Code
{
get;
set;
}
}
Entity Framework scheint nicht in der Lage sein, um anzeigen chars (dieses Feld fehlt, aus der Datenbank beim erstellen der Datenbank-schema-von my model-Objekte). Gibt es trotzdem kann ich die Karte char (z.B. in einen string) mit der fluent-API? Ich will nicht zu ändern Sie die Modell-Objekte, weil Sie ein Teil von einem legacy-shared-library.
InformationsquelleAutor der Frage dommer | 2011-07-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Char
ist nicht gültig primitiven Typ für die entity framework = entity framework nicht anzeigen. Wenn Sie das Kontrollkästchen CSDL-Referenz sehen Sie Liste der gültigen Typen (char
ist nicht unter Ihnen).Datenbank
char(1)
übersetztstring
(SQL für die CSDL übersetzung).Char
wird beschrieben als nicht-unicode-Zeichenfolge mit fester Länge 1.Nur hässlich option ist die zweite Eigenschaft zugeordnet mit string und Ihre
char
nicht zugeordnete Eigenschaft wird nur verwendetstring[0]
aus dieser Eigenschaft. Das ist nur ein weiteres Beispiel, wie man einfache Art mapping oder Konverter sind verdammt fehlt in EF.InformationsquelleAutor der Antwort Ladislav Mrnka
In der Fluent-API können Sie die Datenbank angeben, die der Spalte Datentyp mit dem HasColumnType Methode wie diese:
Laut Andre Artus' Antwort hierHasColumnType ist verfügbar in EF4.1.
Für diejenigen, die sich mit Data Annotations, die ColumnAttribute kann das gleiche erreichen.
InformationsquelleAutor der Antwort jk7