如何从不同的数据上下文内连接表?

jin*_*ngy 8 .net c# linq inner-join linq-to-sql

我有来自两个不同数据上下文的两个表.虽然两个表都来自同一个数据库,但存在两个独立的数据文件.

错误信息:

该查询包含对在不同数据上下文中定义的项的引用.

我怎么能绕过这个?任何帮助表示赞赏.谢谢.

Kri*_*erA 6

如果您的代码执行以下操作:

from a in dc1.TableA
join b in dc2.TableB on a.id equals b.id
select new { a, b }
Run Code Online (Sandbox Code Playgroud)

......只需将其更改为:

from a in dc1.TableA
join b in dc1.GetTable<TableB>() on a.id equals b.id
select new { a, b }
Run Code Online (Sandbox Code Playgroud)

L2S datacontext使用类上的属性,因此如果你在另一个数据文本上使用GetTable而不是表附加到它上面,那么它将从类def中获取表,列等属性并使用它就像它是部分一样您在查询中使用的DC ...

  • 必须对版本非常敏感。我的 dc1 没有名为“GetTable”的方法...... (3认同)

小智 6

哦Stackoverflow你怎么提供!!

模拟交叉上下文连接 - LINQ/C#


Gre*_*g D 2

你不知道。数据上下文可能具有不一致的数据库视图。