Gram z EF 5 i kod pierwszy. Do tej pory bardzo mi się podoba, ale zauważyłem, że domyślnie kolumny ciągów do nvarchar. Jeśli chcę używać varchar, to muszę to wyraźnie powiedzieć.Entity Framework 5 kodu pierwszy ciąg znaków do varchar globalnie
mogę zmusić go do używania varchar zamiast nvarchar ciągów następująco:
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; }
}
bym zazwyczaj korzystają varchar zamiast nvarchar w prawie wszystkich przypadkach, choć, więc wolę mieć kolumny ciągów globalnie zmapowany do varchar, i aby móc ustawić nvarchar na podstawie kolumny jak wyżej, jeśli potrzebuję.
Czy ktoś wie, jak to zrobić? Próbuję pominąć potrzebę pisania [Kolumna (TypeName = "varchar")] dla każdej kolumny ciągów w moim modelu.
Zdaję sobie sprawę, że można to napisać tak jak na moim przykładzie. Jestem pewien, że musi to być możliwe na całym świecie. –
Czy próbowałeś w tym celu płynnego API ?, ponieważ czasami DataAnnotation nie daje nam najlepszego wyniku. –
Miałem też ten problem i to działało dla mnie. Jeśli już stworzyłeś kolumny NVarchar tak jak ja, spowoduje to, że następna migracja z Code First, którą dodasz, naprawi problem (przekształć kolumny NVarchar w Varchar). Brawo! –