Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq到Sql检查是否存在多条记录_C#_Sql Server_Linq_Linq To Sql - Fatal编程技术网

C# Linq到Sql检查是否存在多条记录

C# Linq到Sql检查是否存在多条记录,c#,sql-server,linq,linq-to-sql,C#,Sql Server,Linq,Linq To Sql,当使用Linq to Sql并更新交叉引用表之类的内容时,它们可能已经是表中的记录,只需要保留在那里,记录将发生更改,记录可以删除。处理这一问题的最佳做法是什么?我在考虑删除所有内容并重新创建。那么糟糕吗 我应该删除参考记录并重新填充所有记录吗。自然地去除不再需要的东西,创造需要的东西 或 我是否应该尝试执行某种类型的检查并删除旧的内容和正在添加的内容 或 什么是更好的方法 在这种情况下,MERGE语句()可能效果最好。它将允许您自行决定同时操作多行 linqtosql并不是这种场景的最佳工具

当使用Linq to Sql并更新交叉引用表之类的内容时,它们可能已经是表中的记录,只需要保留在那里,记录将发生更改,记录可以删除。处理这一问题的最佳做法是什么?我在考虑删除所有内容并重新创建。那么糟糕吗

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

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


什么是更好的方法

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

linqtosql并不是这种场景的最佳工具

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

它毕竟是一种查询语言


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

当然,如果是T-sql!!但这是SQl的关键。您必须使用linq来执行查询。你知道在Linq做这件事的方法吗?谢谢,这就是我想的,但我想确保我是对的。