我有两个表,来自两个不同的数据上下文。 虽然两张表来自同一个数据库,但存在两个不同的数据上下文。
错误信息。
该查询包含对不同数据上下文上定义的项目的引用。
我怎样才能解决这个问题? 感谢任何帮助。 谢谢。
如果你的代码做了一些类似的事情。
from a in dc1.TableA
join b in dc2.TableB on a.id equals b.id
select new { a, b }
...就把它改成:
from a in dc1.TableA
join b in dc1.GetTable<TableB>() on a.id equals b.id
select new { a, b }
L2S数据上下文使用的是类的属性 所以如果你在另一个数据上下文上使用GetTable 而不是表所在的数据上下文 它就会从类的def中获取表,列等属性 然后把它当作你在查询中使用的DC的一部分来使用...
你不这样做。 数据上下文可能对数据库的视图不一致。
另一个解决办法是把结果改成List()。
var query = (from a in dc1.TableA
join b in dc2.TableB on a.id equals b.id
select new { a, b }).ToList()