Sql 什么是LINQ运算符对表执行除法运算?

Sql 什么是LINQ运算符对表执行除法运算?,sql,linq,relational-division,Sql,Linq,Relational Division,要选择属于表中特定组的元素,若元素及其组类型包含在一个表中,而所有组类型都列在另一个表中,则我们对表执行除法。 我正在尝试LINQ查询执行相同的操作。请告诉我如何执行此操作?要准确确定您的要求有点困难。但是,听起来您似乎想确定两个表或流中常见的元素。如果是这样的话,我想你想要交集 它的工作原理如下: int[] array1 = { 1, 2, 3 }; int[] array2 = { 2, 3, 4 }; var intersect = array1.Intersect(array2);

要选择属于表中特定组的元素,若元素及其组类型包含在一个表中,而所有组类型都列在另一个表中,则我们对表执行除法。
我正在尝试LINQ查询执行相同的操作。请告诉我如何执行此操作?

要准确确定您的要求有点困难。但是,听起来您似乎想确定两个表或流中常见的元素。如果是这样的话,我想你想要交集

它的工作原理如下:

int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 3, 4 };
var intersect = array1.Intersect(array2);
返回2和3


与此相反的是Except()。

显然,根据您希望相交和Except的博客文章的定义

Table1.Except(Table1.Intersect(Table2));
或者更确切地说,我猜是你的情况

Table1.Where(d => !Table2.Any(t => t.Type == d.Type));
没那么难

事实上,我不认为性能可以做得更好。也许和一个团员一起

Table1.GroupBy(t => t.Type).Where(g => !Table2.Any(t => t.Type == g.Key)).SelectMany(g => g);

这对性能来说应该更好。只在第二个表中搜索每种类型一次,而不是表1中的每一行。

不清楚您正在尝试做什么以及您已经做了什么。请给出一个代码示例或再解释一点。@MaruthiRevankar解释的关系数据库中的opeartor师:为什么我们必须阅读一篇博客文章才能理解您的问题?请把它编辑清楚。谢谢。我没有解释太多,因为我不能把桌子放在这里。这是一个普遍的问题。这是一个大问题的一小部分。因此,我并没有把我的全部问题和我已经完成的80%的答案都放在这里。是的,但这听起来像是他想要完成的。