Я столкнулся с интересной проблемой при использовании DLINQ. Когда я создаю экземпляр объекта, вызов .SubmitChanges () в DataContext вставит новую строку в базу данных - без вызова .Insert [All] OnSubmit (...).
//Code sample:
Data.NetServices _netServices = new Data.NetServices(_connString);
Data.ProductOption[] test = new Data.ProductOption[]
{
new Data.ProductOption
{
Name="TEST1",
//Notice the assignment here
ProductOptionCategory=_netServices.ProductOptionCategory.First(poc => poc.Name == "laminate")
}
};
_netServices.SubmitChanges();
Выполнение приведенного выше кода вставит новую строку в базу данных. Я заметил этот эффект при написании приложения для анализа XML-файла и заполнения некоторых таблиц. Я заметил, что было более 1000 вставок, когда я ожидал около 50 или около того, - тогда я, наконец, изолировал это поведение.
Как я могу предотвратить неявное сохранение этих объектов?
Спасибо, Чарльз