Ich spiele mit EF 5 und Code zuerst. Bis jetzt mag ich es wirklich, aber ich habe bemerkt, dass es die String-Spalten auf nvarchar setzt. Wenn ich varchar verwenden möchte, muss ich es explizit angeben.Entity Framework 5 Code erste Zuordnung Zeichenfolge zu varchar global
Ich kann es erzwingen varchar statt nvarchar für Strings wie folgt zu verwenden:
public class Member
{
public int id { get; set; }
[MaxLength(255), Required, Column(TypeName = "varchar")]
public string firstName { get; set; }
[MaxLength(255), Required, Column(TypeName = "varchar")]
public string surname { get; set; }
}
ich in der Regel varchar statt nvarchar verwenden würden, obwohl in fast allen Fällen, also würde ich viel String-Spalten bevorzugen global haben auf varchar gemappt, und nvarchar pro Spalte wie oben festgelegt werden, wenn ich muss.
Kennt jemand einen Weg, dies zu tun? Ich versuche, die Angabe von [Column (TypeName = "varchar")] für jede Stringspalte in meinem Modell wegzulassen.
Ich weiß, dass es so geschrieben werden kann wie in meinem Beispiel. Ich bin mir sicher, dass es global möglich sein muss. –
Haben Sie versucht, fließend api für diese?, Weil manchmal DataAnnotation gibt uns nicht das beste Ergebnis –
Ich hatte dieses Problem auch, und das hat für mich funktioniert. Wenn Sie NVarchar-Spalten wie ich bereits erstellt haben, wird die nächste Code-First-Migration, die Sie hinzufügen, das Problem beheben (konvertieren Sie die NVarchar-Spalten in Varchar). Bravo! –