是否可以在Linq的1个join语句中添加多个“ on”

恩里克·吉尔(Enrique Gil)

我不知道on c.blah equals b.blah在LINQ的一个连接语句中可能有嵌套或2个或更多嵌套的原因,因为我必须在不影响数据数量的情况下连接表

因为如果我将它添加到where那里,数据的数量会减少,它会充当过滤器

到目前为止,我尝试的是添加&&子句,但它不起作用

var Pos =  (from a in db.Position
            join b in db.Position_Location
             on a.ID equals b.PositionId
            join c in db.Customer
            on a.CustomerID equals c.ID
            join d in db.Customer_Location
            on b.LocationId equals d.ID 
            join f in db.Worker
             on userIdNew equals f.userId
            join e in db.Worker_Customer_Apply_Shift <----Planning to add new validation here
                     on a.ID equals e.Client_Customer_PositionID into trial
                 from newtrial in trial.DefaultIfEmpty()
                 where 
                       b.LogicalDelete == false
                       && a.LogicalDelete == false
                       && c.LogicalDelete == false
                       && d.LogicalDelete == false

                 select new
                 {
                     a.ID,
                     Client_CustomerID = c.ID,
                     LogicalDelete =(newtrial == null ? true : newtrial.LogicalDelete),


                 }).Distinct().ToList();

提前致谢 :)

罗比·科尼利森(Robby Cornelissen)

您可以将匿名类型与要在联接条件中使用的字段一起使用:

on new { a.One, a.Two } equals new { b.One, b.Two }

如果两个表中的列名称都不相同,则需要为匿名类型的属性提供名称:

on new { Col1 = a.One, Col2 = a.Two } equals new { Col1 = b.Three, Col2 = b.Four }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以在此SQL语句中添加JOIN?

在一条语句中添加多个约束

在Powershell的WHERE子句中添加多个-and和-or语句

如何在 if 语句中添加多个命令?JavaScript

是否可以在'if'语句中传递多个命令?

可以在房间数据库迁移的单个语句中添加多个新列吗?

使用仅带一个参数的GROUP BY在SELECT语句中的不同表中添加多个列

是否可以在一个子网中添加多个AWS ACL?

是否可以在python中为一个参数添加多个输入

是否可以在语句中使用 linq 中的整数?

是否可以在列表理解中添加多个元素?

是否可以在CREATE TABLE内的列上添加多个约束?

是否可以向AzureAdBearer令牌添加多个受众群体?

是否可以在Java的打印语句中添加sleep()方法?

lua:在 1 个 if 语句中搭载多个变量

添加多个IIF语句SSRS

是否可以在一个语句中做一个语句?

Linq - 添加多个“动态”条件

如何在SQL Server中添加多个选择语句一个bcp命令

LINQ中where语句中的多个条件

是否可以在同一路径中添加多个项目?

是否可以使用whenComplete(...)向CompletableFuture添加多个动作?

AngularJS 1.3.13-是否可以在特定的$ resource中添加多个拦截器?

是否可以使用insertRule()向CSS添加多个规则?

是否可以在silverstripe 3.3中一次性添加多个DataObject?

是否可以使用 XAML 向标签添加多个绑定?

是否可以在Azure Devops中向组织添加多个所有者?

是否可以添加多个服务器地址?(Asio, 客户端->服务器)

有什么方法可以在if语句中添加“ but”?