Linq to Sql检查是否存在多条记录

时间:2015-03-11 19:05:39

标签: c# sql-server linq linq-to-sql

当使用Linq到Sql并更新类似交叉引用表的内容时,它们可能已经是表中只需要保留在那里的记录,那些将要更改的记录和可以删除的记录。处理这个问题的最佳做法是什么?我想删除所有并重新创建。那不好吗?

我应该删除参考记录并重新填充所有参考记录。自然地删除不再需要的东西并创造所需的东西。

我是否应该尝试执行某种类型的检查并删除旧的内容

什么是更好的方法?

2 个答案:

答案 0 :(得分:1)

在这种情况下,MERGE语句(StackOverFlow Merge Example)可能效果最佳。它允许您自行决定同时操作多行。

答案 1 :(得分:1)

Linq to SQL并不是最适合这种情况的工具。

基本上你必须自己编写更新/插入/删除。您可以使用exists()any()等来创建集合,但生成的SQL将是所有单独的插入,更新。

毕竟是查询语言。

在你的情况下,我会通过存储过程进行合并并调用它。