C#linq to sql – 动态选择表

前端之家收集整理的这篇文章主要介绍了C#linq to sql – 动态选择表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下场景:有一个数据库每年生成一个新的logTable.它始于2001年,目前有11张桌子.它们都具有相同的结构,因此具有相同的字段,索引,pk等.

我有一些叫做管理器的类 – 顾名思义 – 管理这个DB上的每个操作.对于每个不同的表我有一个经理,除了这个logTable,我只有一个经理.

我已经阅读了很多内容并尝试了不同的东西,例如使用ITable动态获取表或者我的所有表都实现的接口.不幸的是,我失去了强类型的属性,因此我无法进行任何搜索或更新或任何事情,因为我无法使用logTable.Where(q => q.ID == paramId).

考虑到这些表具有相同的结构,从2010开始搜索日志的查询可以是从2011年开始搜索日志的查询.

我只是问这个,因为我不想为每个表重写相同的代码,因为它们在结构上是相同的.

编辑

我正在使用Linq to sql作为我的ORM.这些表使用所有数据库操作,而不仅仅是选择.

解决方法

只要每个查询返回相同的形状,就可以使用ExecuteQuery< Log>(“从LogTable中选择cols”实例).请注意,ExecuteQuery是LINQ to sql允许sql注入的一种情况.我将讨论如何在 http://www.thinqlinq.com/Post.aspx/Title/Does-LINQ-to-SQL-eliminate-the-possibility-of-SQL-Injection参数化ExecuteQuery.

猜你在找的C&C++相关文章