[英]LINQ syntax for SQL query with multiple inner joins and aliases
I am working on creating a C# LINQ statement from a SQL query with multiple joins and aliases. 我正在根据具有多个联接和别名的SQL查询创建C#LINQ语句。 I am having some trouble constructing the LINQ.
我在构建LINQ时遇到了一些麻烦。
The SQL: SQL:
SELECT
store.Name as 'Store',
store.CreatedOn as 'StoreCreated',
supplier.Name as 'Supplier',
supplier.CreatedOn as 'SupplierCreated',
farm.Name as 'Farm',
farm.CreatedOn as 'FarmCreated',
FROM Users store
INNER JOIN UserRelationship toSupplier on store.ID = toSupplier.YId
INNER JOIN Users supplier ON supplier.ID = toSupplier.XId
INNER JOIN UserRelationship toFarm ON store.ID = toFarm.XId
INNER JOIN Users farm ON farm.ID = toFarm.YId
WHERE
store.Active= '1'
AND
supplier.Active = '1'
AND
farm.Active = '1'
This returns rows showing the relationships between the three parties and the dates. 这将返回显示三方之间和日期之间关系的行。
So, far, I've got the following LINQ: 到目前为止,我有以下LINQ:
var newUserList = from store in Users
join toSupplier in UserRelationship on store.ID = toSupplier.YId
join supplier in Users on supplier.ID = toSupplier.XId
join toFarm in UserRelationship on store.ID = toFarm.XId
join farm in Users on farm.ID = toFarm.YId
Am I on the right track? 我在正确的轨道上吗? Any help would be appreciated.
任何帮助,将不胜感激。
LINQ join
syntax uses equals
keyword instead of =
in join condition: LINQ
join
语法在连接条件中使用equals
关键字而不是=
:
var newUserList = from store in Users
join toSupplier in UserRelationship on store.ID equals toSupplier.YId
join supplier in Users on supplier.ID equals toSupplier.XId
join toFarm in UserRelationship on store.ID equals toFarm.XId
join farm in Users on farm.ID equals toFarm.YId
select ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.