我一直在从事一个项目,我一直在使用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} = {“查询包含对在不同数据上下文中定义的项目的引用。”}
我很好奇,我错过了什么吗?有很多表需要映射的常见做法是什么?如何分解 .dbml 文件?