Helaas ondersteunt Linq to SQL geen standaardwaarden voor databases. Zie hier de eerste vraag:
Wat ze suggereren, is dat u een implementatie van de Insert-methode voor de entiteit in kwestie opgeeft. De handtekening is
partial void Insert[EntityName](Entity instance)
Dus als u een entiteit had met de naam Persoon, waarvan u de standaardwaarde "Home" voor een veld PhoneNumberDesc wilde hebben, zou u dit op deze manier kunnen implementeren:
partial void InsertPerson(Person instance)
{
if (string.IsNullOrEmpty(instance.PhoneNumberDesc))
instance.PhoneNumberDesc = "Home";
var insertParams = new List<object>();
var insertStatement = "insert into ...";
// build the rest of the insert statement and fill in the parameter values here...
this.ExecuteQuery(typeof(Person), insertStatement, insertParams.ToArray());
}
U kunt mogelijk wegkomen met het implementeren van de OnCreated-gebeurtenis, die met elke constructor voor elke entiteit wordt aangeroepen. Dit artikel legt een beetje uit hoe de uitbreidbaarheid wijst in Linq To SQL:http://msdn.microsoft.com/en-us/library/bb882671.aspx
Al met al is de oplossing echt een beetje klote. Veel succes!