linq到SQL插入多个对象
-
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();
我只将第一个实体(“测试注释标题1”)插入数据库。如果我在每个插入物之后放置一个子键,则所有行都将成功插入。
上述类型全部从音符类继承,因此将插入同一表中。
但是,我在非衍生课程中遇到同样的问题。
我花了很长时间看这个,但是找不到我做错了什么。 Insertonsubmit/cubsitchanges的整个想法是,您可以进行多个更改,因此必须缺少简单的东西。
解决方案
问题在于我在实体课程中等于riden,因此具有相同ID的实体被认为是相同的。显然,LINQ到SQL在某个时候使用它,并获得所有新实体相等的结果(因为它们都具有0的ID)。
感谢乔纳森成为我的 “橡皮鸭”.
不隶属于 StackOverflow