LinqToSQL - 用大量表格映射DataContext?

时间:2009-07-14 18:52:43

标签: c# linq-to-sql datacontext

我一直致力于一个项目,我一直在使用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文件?