我在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)。

感谢乔纳森成为我的 “橡皮鸭”.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top