Tyvärr stöder inte Linq till SQL databasens standardvärden. Se den första frågan här:
Vad de föreslår är att du tillhandahåller en implementering av Insert-metoden för den aktuella enheten. Signaturen är
partial void Insert[EntityName](Entity instance)
Så om du hade en enhet som heter Person, som du vill ha standardvärdet "Hem" för ett PhoneNumberDesc-fält, kan du implementera det så här:
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());
}
Du kanske kan komma undan med att implementera OnCreated-händelsen, som anropas med varje konstruktör för varje entitet. Den här artikeln förklarar lite om hur töjbarheten pekar i Linq To SQL:http://msdn.microsoft.com/en-us/library/bb882671.aspx
Sammantaget är lösningen riktigt dålig. Lycka till!