Niestety, Linq to SQL nie obsługuje domyślnych wartości bazy danych. Zobacz pierwsze pytanie tutaj:
Sugerują, że zapewniasz implementację metody Insert dla danej jednostki. Podpis będący
partial void Insert[EntityName](Entity instance)
Więc jeśli masz encję o nazwie Person, którą chcesz mieć domyślną wartość "Home" dla pola PhoneNumberDesc, możesz to zaimplementować w ten sposób:
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());
}
Być może uda Ci się zaimplementować zdarzenie OnCreated, które jest wywoływane z każdym konstruktorem dla każdej encji. W tym artykule wyjaśniono nieco, w jaki sposób punkty rozszerzalności w Linq To SQL:http://msdn.microsoft.com/en-us/library/bb882671.aspx
Podsumowując, rozwiązanie naprawdę jest do bani. Powodzenia!