Czy możliwe jest globalne ustawienie Entity Framework DbContext
w celu użycia datetime2
dla wszystkich właściwości, które są System.DateTime
podczas korzystania z modelu Code-First?Siła Entity Framework 5 do korzystania z typu danych datetime2
Mogę to zrobić dla każdej kolumny przy użyciu metody HasColumnType()
, ale dla istniejącej bazy kodów chciałbym rozwiązanie globalne.
Ciekawe, dlaczego chcesz to zrobić. Powodem, dla którego pytam jest to, że jest to bardzo powszechny błąd podczas próby przypisania encji, która ma wartość domyślną dla nie-zerowalnej kolumny DateTime (DateTime.MinVal). Wyjątek wskazuje, że powinieneś użyć kolumny DateTime2, ale jest to w większości mylące, chyba że potrzebujesz dodatkowej precyzji. Poprawka polega na przypisaniu wartości innej niż domyślna dla pola DateTime lub zdefiniowaniu go jako zerowalnego. Mam nadzieję że to pomoże. –
@ w.brian 1) Mamy tabele, w których przechowywane są dzieła sztuki i autorzy, w których oba mogą być tworzone/urodzone przed 1753 r. ... 2) Jeśli byłoby to możliwe, byłaby to alternatywa dla walidacji dat min. Dla każdego innego pole. 3) ciekawość techniczna ... –
Gotcha. Chciałem tylko upewnić się, że nie robiłeś zepsutego drzewa, tak jak początkowo, gdy wpadłem na wyjątek, który zauważyłem powyżej. –