C# Linq到SQL:如何在无域上连接,即笛卡尔连接
如何在多个表上进行Linq到SQL连接,其中一个表应该生成笛卡尔积 为了进一步说明,下面是SQL查询的一个示例C# Linq到SQL:如何在无域上连接,即笛卡尔连接,c#,linq-to-sql,C#,Linq To Sql,如何在多个表上进行Linq到SQL连接,其中一个表应该生成笛卡尔积 为了进一步说明,下面是SQL查询的一个示例 SELECT Table1.MyField, Setup.SomeField FROM Table1 INNER JOIN Table2 ON Table1.SomeField = Table2.SomeField, Setup 我的Linq到SQL如下所示: var q = from t1 in db.Table1 join t2 in db.Table2 on t
SELECT Table1.MyField, Setup.SomeField
FROM Table1 INNER JOIN Table2 ON Table1.SomeField = Table2.SomeField, Setup
我的Linq到SQL如下所示:
var q = from t1 in db.Table1
join t2 in db.Table2 on t1.SomeField equals t2.SomeField
join setup in db.Setup
select new {t1.MyField, setup.SomeField};
我在上一次连接中遇到一个错误,
类型推断在调用“join”时失败。
使用选择many
而不是连接来执行笛卡尔乘积
在查询语法中,将是:
var query = from t1 in db.Table1
from t2 in db.Table2
select new {t1, t2};
使用SelectMany
而不是Join
执行笛卡尔乘积
在查询语法中,将是:
var query = from t1 in db.Table1
from t2 in db.Table2
select new {t1, t2};
使用SelectMany
而不是Join
执行笛卡尔乘积
在查询语法中,将是:
var query = from t1 in db.Table1
from t2 in db.Table2
select new {t1, t2};
使用SelectMany
而不是Join
执行笛卡尔乘积
在查询语法中,将是:
var query = from t1 in db.Table1
from t2 in db.Table2
select new {t1, t2};
这也可以做到:
var q = from t1 in db.Table1
join t2 in db.Table2 on t1.SomeField equals t2.SomeField
from setup in db.Setup
select new {t1.MyField, setup.SomeField};
这也可以做到:
var q = from t1 in db.Table1
join t2 in db.Table2 on t1.SomeField equals t2.SomeField
from setup in db.Setup
select new {t1.MyField, setup.SomeField};
这也可以做到:
var q = from t1 in db.Table1
join t2 in db.Table2 on t1.SomeField equals t2.SomeField
from setup in db.Setup
select new {t1.MyField, setup.SomeField};
这也可以做到:
var q = from t1 in db.Table1
join t2 in db.Table2 on t1.SomeField equals t2.SomeField
from setup in db.Setup
select new {t1.MyField, setup.SomeField};
谢谢,但不确定在何处使用SelectMany?@user1208908,您想在其中对另一个集合执行笛卡尔积。谢谢,但不确定在何处使用SelectMany?@user1208908,您想在其中对另一个集合执行笛卡尔积。谢谢,但不确定在何处使用SelectMany?@user1208908,您希望在其中对另一个集合执行笛卡尔积。谢谢,但不确定在何处使用SelectMany?@user1208908,您希望在其中对另一个集合执行笛卡尔积。