Klasy wygenerowane przez Linq-To-Sql nie pobierają domyślnych ograniczeń wartości.
Może w przyszłości, ale problem polega na tym, że ograniczenia nie zawsze są prostymi wartościami, mogą również być funkcjami skalarnymi, takimi jak GetDate()
, więc linq musiałby jakoś umieć je przetłumaczyć. Krótko mówiąc, nawet nie próbuje. Jest to również coś bardzo specyficznego dla bazy danych.
- Możesz napisać generator kodu do tworzenia klas częściowych encji, w których można wyodrębnić domyślny contriant wartości.
- Alternatywnie kod warstwy biznesowej może ustawiać wartości domyślne w konstruktorach z pliku xml, a wszystko, co musisz zrobić, to aktualizować plik xml.
- Zamiast wykonywać pracę w konstruktorach, możesz emulować sql i dodawać wartości domyślne, sprawdzając ChangeSet przed przesłaniem zmian do bazy danych.
Problem, który masz, jest szczegółowo opisany w CodeProject — ustawianie wartości domyślnych dla powiązanych danych LINQ