LinqToSQL – 用大量表格映射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} = {“查询包含对在不同数据上下文中定义的项的引用。”}
我好奇,我错过了什么? 有很多表需要映射的常见做法是什么? 你怎么能打破.dbml文件?
这里有好几次被问过,没有明确的答案。 检查这个问题:
- LINQ to SQL:每个项目多个/单个.dbml?
- 多个DataContext类是否合适?
- Linq to SQL和大型DB模型
- 管理LINQ to SQL .dbml模型的复杂性
- 管理Linq to SQL Dbml文件的最佳实践?
一些答案参考了这篇博客文章: LINQ to SQL DataContext的生命周期
- 在绑定的DataGridView中将DataGridViewColumn更改为DataGridViewComboBoxColumn
- 如何比较DateTime值,考虑到时区?
- Visual Studio在哪里查找程序集?
- 将DataMemberAttribute放在接口成员上意味着什么?
- ASP.NET应用程序的unit testing配置
- 如果从本地数据库中提取LINQ-to-SQL类,则不会实现INotifyPropertyChanging和INotifyPropertyChanged
- NAudio用于播放正弦波的算法,其频率可以实时平滑地改变
- 显示.NET Core中间接引用的包的类
- NLog无法在发布模式下工作