Le classi generate da Linq-To-Sql non raccolgono i vincoli del valore predefinito.
Forse in futuro, ma il problema è che i vincoli non sono sempre valori semplici, possono anche essere funzioni scalari come GetDate()
, quindi linq dovrebbe in qualche modo sapere come tradurli. Insomma, non ci prova nemmeno. È anche un tipo di cosa molto specifico per il database.
- Potresti scrivere un generatore di codice per creare classi parziali di entità in cui puoi estrarre il valore predefinito constriant.
- In alternativa, il codice del tuo livello aziendale potrebbe impostare i valori predefiniti nei costruttori da un file xml e tutto ciò che devi fare è mantenere aggiornato il file xml.
- Invece di eseguire il lavoro nei costruttori, puoi emulare sql e aggiungere valori predefiniti ispezionando il ChangeSet prima di inviare le modifiche al database.
Il problema che stai riscontrando è ampiamente descritto in CodeProject - Impostazione dei valori predefiniti per i dati vincolati LINQ