Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LinqToSQL-用大量表映射DataContext?_C#_Linq To Sql_Datacontext - Fatal编程技术网

C# LinqToSQL-用大量表映射DataContext?

C# LinqToSQL-用大量表映射DataContext?,c#,linq-to-sql,datacontext,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.Anothe

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

这里多次询问这个问题,但没有明确的答案。检查以下问题:

以下是本文的一些答案: