在不同的表上使用相同的类型进行LINQ-to-SQL映射

时间:2010-12-22 10:16:48

标签: linq-to-sql

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

尝试使用inherit来解决这个问题 查看this link了解更多详情。 one more 我希望它对你有所帮助。