我有几个实体类,用于解析固定宽度文本文件以及利用 Linq to SQL。我使用这些类来解析所述文本文件中的数据,并与数据库中的数据进行比较。
其中一个实体有很多属性,我不想浪费时间在 Linq 结果对象上设置每个单独的属性。
有没有办法告诉 Linq“这是我的对象,用它来更新记录”?这是我正在处理的代码:
if (partialContent.MonthlyAddChange == "A") { bookContentTable.InsertOnSubmit(partialContent); } else if (partialContent.MonthlyAddChange == "C") { var query = from bookContent in bookContentTable where bookContent.EAN == partialContent.EAN select bookContent; if (query != null) { // Do something with query.First() } } }
在这种情况下,删除记录并执行 InsertOnSubmit() 是否更好?
最佳答案
我认为编辑记录的概念与删除和插入新记录的概念不同。基本上,我认为 ORM 应该抽象出主键生成和其他相关的东西。通过删除和插入,您可能会删除记录的完整性(可能会发出新的主键,使引用的实体无效等等......)。我建议只要您所采取的操作概念上是更新,就更新记录。
关于.net - 在 Linq To SQL 中更新的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/667957/