我在数据库中有一个表,正在使用LINQ to SQL进行检索,作为处理的一部分,我想添加到此列表中,然后使用新项和所做的任何更改来更新数据库。
我以为我能做的是:
var list = (from item in db.Table select item).ToList();
[do processing where I modify items & add to the list]
list = list.Distinct();
db.SubmitChanges(); 发生的事情是修改被取消(即SQL更新),但是我添加到列表中的任何新项目都没有添加。
显然我做错了,修改并添加到数据库实体列表,然后提交所有更新和插入的正确方法是什么?
问题来源于stack overflow
该列表是没有意义的。只是碰巧持有DataContext知道的对象。我们需要确保DataContext知道新的。重要的是,当我们向DataContext发出警报时,它们不必是完整的:
Item item; if (needNewOne) { item = new Item(); db.InsertOnSubmit(item); } else { item = list[i]; } /// build new or modify existing item /// : db.SubmitChanges();
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。