Linq-To-Sql-genererede klasser opfanger ikke standardværdikonstrianterne.
Måske i fremtiden, men problemet er, at begrænsninger ikke altid er simple værdier, de kan også være skalære funktioner som GetDate()
, så linq skulle på en eller anden måde vide, hvordan man oversætter dem. Kort sagt, det prøver ikke engang. Det er også en meget databasespecifik type ting.
- Du kan skrive en kodegenerator for at oprette entitetspartielle klasser, hvor du kan udtrække standardværdikonstrianten.
- Alternativt kunne din virksomhedslagkode indstille standardindstillingerne i konstruktører fra en xml-fil, og alt du skal gøre er at holde xml-filen opdateret.
- I stedet for at udføre arbejdet i konstruktører, kan du emulere sql og tilføje standardværdier ved at inspicere ChangeSet, før du sender ændringer til databasen.
Det problem, du har, er beskrevet udførligt i CodeProject - Indstilling af standardværdier for LINQ bundne data