2010-12-22 57 views
2

我有一个LINQ到SQL的数据上下文,其中两个表存在不同的名称但存在相同的结构。一个表(称为CallRecords)包含实时/当前数据,另一个表(CallRecordsArchive)保存较旧的记录 - 但与现场数据具有相同的字段名称。在不同的表上使用相同类型的LINQ到SQL映射

基本的映射LINQ to SQL创建了两个类CallRecord和CallRecordsArchive - 但由于它们是相同的,所以如果可能,我想避免这种情况?这样我不必为每个实例写两个查询?

我确实考虑过创建一个JOIN视图,但在这两个表中有数百万行,这将是一场性能噩梦。

回答

0

尝试使用继承此问题 检查this link了解更多详情。 one more 我希望它对您有所帮助。

+1

感谢您的指点:第一个更多的是与我的情况相反(一个表,多个类,我想要多个表,同一个类)。我无法使用映射文件,因为我拥有DBML,99%的表格都是由此生成的。我试图找出是否可以获取创建代码以重新使用CallRecord类型的SQLMETAL生成器。我想我可能必须将它们编写为返回表的存储过程 – Quango 2010-12-22 15:25:34

+0

如果两个表中的数据应该互斥,则可以创建索引视图。 – jpierson 2013-02-15 21:07:35

1

我处理这个问题的方法是为两个表的公共方面创建一个接口,并使用数据上下文中的两个生成类通过使用部分类定义来实现该接口。通过这种方式,当您想将该类型作为单一概念来处理时,您始终可以将其称为界面。

相关问题