gpt4 book ai didi

asp.net-mvc - Entity Framework LINQ 在多列上加入 5 个表(不可能?!)

转载 作者:行者123 更新时间:2023-12-04 04:55:09 25 4
gpt4 key购买 nike

请看图片:enter image description here

我正在尝试创建一个 LINQ 查询,该查询在 1 到 3 个不同的列上组合了 5 个不同的表。我基本上以 2 个表为例,并重复表 3 到 5 的连接部分。

更新:如何让以下 LINQ 查询工作????

    var match = (from t1 in context.cKNA1
join t2 in context.cKNB1 on
new { t1.KUNNR, t1.RowId } equals
new { t2.KUNNR, t2.RowId }
join t3 in context.cKNVV on
new { t2.KUNNR, t2.RowId } equals
new { t3.KUNNR, t3.RowId }
join t4 in context.cKNVH on
new { t3.KUNNR, t3.RowId } equals
new { t4.KUNNR, t4.RowId }
SELECT ....columns here....)

我在网上找不到任何超过 3 张 table 的东西 *和 2 列或更多列。

最佳答案

编写此查询:

 var match = from t1 in context.cKNA1
join t2 in context.cKNB1 on
new { t1.KUNNR, t1.RowId } equals
new { t2.KUNNR, t2.RowId }
join t3 in context.cKNVV on
new { t2.KUNNR, t2.RowId } equals
new { t3.KUNNR, t3.RowId }
join t4 in context.cKNVH on
new { t3.KUNNR, t3.RowId } equals
new { t4.KUNNR, t4.RowId }
SELECT t1.KUNNR;

其实去掉括号就可以了。如果它仍然不起作用,visual studio 将标记其中之一 join作为错误的话。如果是这样,则意味着您尝试链接的列具有不同的数据类型。

假设 VS 标记第一个 join作为错误的词。所以,这意味着 t1.KUNNRt2.KUNNR具有不同的数据类型,或 t1.RowIdt2.RowId有不同的数据类型。

检查并更正您的数据类型,问题就会消失。

关于asp.net-mvc - Entity Framework LINQ 在多列上加入 5 个表(不可能?!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16867855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com