Třídy generované Linq-To-Sql nepřebírají omezení výchozí hodnoty.
Možná v budoucnu, ale problém je, že omezení nejsou vždy jednoduché hodnoty, mohou to být také skalární funkce jako GetDate()
, takže linq by nějak musel vědět, jak je přeložit. Zkrátka to ani nezkouší. Je to také věc velmi specifická pro databázi.
- Mohli byste napsat generátor kódu pro vytvoření dílčích tříd entit, kde můžete extrahovat výchozí podmínku hodnoty.
- Případně může váš kód obchodní vrstvy nastavit výchozí hodnoty v konstruktorech ze souboru xml a vše, co musíte udělat, je udržovat soubor xml aktuální.
- Místo práce v konstruktorech můžete emulovat sql a přidat výchozí hodnoty kontrolou ChangeSet před odesláním změn do databáze.
Problém, který máte, je podrobně popsán v CodeProject – Nastavení výchozích hodnot pro LINQ vázaná data