首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于多个对象的Linq to SQL InsertOnSubmit

用于多个对象的Linq to SQL InsertOnSubmit
EN

Stack Overflow用户
提问于 2010-09-08 23:48:04
回答 1查看 1.9K关注 0票数 0

我对Linq to SQL InsertOnSubmit有一个问题,它似乎只对表中的第一项有效。

例如,使用以下内容:

代码语言:javascript
复制
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 Title 1")插入到数据库中。如果我在每个InsertOnSubmit之后放置一个SubmitChanges,那么所有的行都会被成功插入。

以上类型都继承自Note类,因此被插入到同一个表中。

然而,对于非派生类,我也遇到了同样的问题。

我花了很长时间来研究这个问题,但找不到我做错了什么。InsertOnSubmit/SubmitChanges的整个想法是为了让你可以做多个更改,所以我肯定遗漏了一些简单的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-09 00:30:19

问题是我在实体类中重写了Equals,所以具有相同Id的实体被认为是相同的。显然,Linq to SQL在某个时刻使用了它,并得到了所有新实体都是相等的结果(因为它们的Id都是0)。

感谢乔纳森成为我的"Rubber Duck"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3669503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档