我一直致力于一个项目,我一直在使用LinqToSQL
,涉及很多表格。所有这些映射在一个.dbml
文件中(即只有一个DataContext
)。我这样做的假装是(目前)你无法加入多个数据上下文。例如......
DB1DataContext db1 = new DB1DataContext();
DB2DataContext db2 = new DB2DataContext();
var query =
from x in db1.SomeTable
join y in db2.AnotherTable on x.Id equals y.Id
select new
{
x.Column,
y.Column
};
有人认为事实并非如此,我应该将.dbml
文件分解为单独的较小(即更多可管理)数据上下文。我现在只是设置一个示例,对上面的一个执行类似的查询并得到以下错误...
base {System.SystemException} = {“The 查询包含对项的引用 在不同的数据上下文中定义。“}
我很好奇,我错过了什么吗?有很多表需要映射的常见做法是什么?你怎么能打破.dbml文件?
答案 0 :(得分:3)
这里曾多次询问过这个问题并没有明确的答案。检查这个问题:
有些回答参考此博文:Lifetime of a LINQ to SQL DataContext