我有以下场景:有一个数据库,每年都会生成一个新的logTable。它从2001年开始,现在已经有11个表。它们都具有相同的结构,因此具有相同的字段、索引、主键等。
我有一些称为“managers”的类,正如其名称所示,它们管理这个数据库上的每个操作。对于每个不同的表,我都有一个manager,除了这个logTable,我只有一个manager。
我阅读了很多资料并尝试了不同的方法,比如使用ITable来动态获取表或者一个所有表都实现的接口。不幸的是,我失去了强类型属性,因此我不能进行任何搜索、更新或其他任何操作,因为我不能使用
考虑到这些表具有相同的结构,查询2010年的日志的查询可能是与查询2011年及以后的日志完全相同的。
我之所以问这个问题,是因为我不想为每个表重写相同的代码,因为它们在结构上是相同的。
编辑
我使用Linq to SQL作为我的ORM。这些表使用所有的DB操作,而不仅仅是选择。
我有一些称为“managers”的类,正如其名称所示,它们管理这个数据库上的每个操作。对于每个不同的表,我都有一个manager,除了这个logTable,我只有一个manager。
我阅读了很多资料并尝试了不同的方法,比如使用ITable来动态获取表或者一个所有表都实现的接口。不幸的是,我失去了强类型属性,因此我不能进行任何搜索、更新或其他任何操作,因为我不能使用
logTable.Where(q=> q.ID == paramId)
。考虑到这些表具有相同的结构,查询2010年的日志的查询可能是与查询2011年及以后的日志完全相同的。
我之所以问这个问题,是因为我不想为每个表重写相同的代码,因为它们在结构上是相同的。
编辑
我使用Linq to SQL作为我的ORM。这些表使用所有的DB操作,而不仅仅是选择。