Linq для sql insertonsubmit для нескольких объектов
-
01-10-2019 - |
Вопрос
У меня проблема с Linq для SQL INSERTONSUBMIT, которая кажется только для первого элемента в таблице.
Например со следующим:
var noteDetail1 = new NoteDetail() { Title = "Test Note Title 1", NoteText = "Test note" };
var waiverDetail1 = new WaiverDetail() { Title = "Test Waiver Title 1", NoteText = "Test waiver details text" };
var riskDetail1 = new RiskDetail() { Title = "Test Risk Title 1", NoteText = "Test risk details text" };
context.Notes.InsertOnSubmit(noteDetail1);
context.Notes.InsertOnSubmit(riskDetail1);
context.Notes.InsertOnSubmit(waiverDetail1);
context.SubmitChanges();
Я получаю только первое сущность («Test Note Note 1»), вставленную в базу данных. Если я помещу Tublitchances после каждого InsertonSUBMIT, все строки успешно вставлены.
Вышеуказанные типы все наследуются от класса нот, поэтому вставляются в ту же таблицу.
Я, однако, испытываю ту же проблему с неидными классами.
Я провел много времени, глядя на это, но не могу найти то, что я сделал не так. Вся идея insertonsUbmit / Delmitchanges - это так, что вы можете сделать несколько изменений, поэтому я должен быть что-то простое, что мне не хватает.
Решение
Проблема заключалась в том, что у меня были преодоленные равны в моих классах сущности, чтобы сущности с тем же идентификатором считались одинаковыми. Очевидно, что LINQ для SQL используется в какой-то момент и получает результат, что все новые объекты равны (потому что все они имеют идентификатор 0).
Спасибо Джонатану за то, что я мой "Резиновая утка".