2

我有 6 个结构相同但数据不同的表。在每个表中都存储了多于或少于一百万条记录。

出于性能目的,我在每张表中只放了一年。所以我有我的表格,比如 Document_2005、Document_2006、ecc... 我刚刚完成了导入新年的程序,一切正常,但 aspxGridView (DevExpress) 非常慢。

所以我必须启用 ServerMode 并且有效地性能要好得多,但我不能再使用 SQL 来访问正确的表String.Format("Document_{0}",year);,因为 ServerMode 需要 LINQ TO SQL 类。

现在我将所有类都放在 dbml 文件中,一切正常,但是如何在接下来的几年中映射新表(具有相同结构)我必须手动添加并每年重建?我尝试在自动生成的类中更改源表名,如果我将 TableAttribute 更改为不同的表名并重建一切正常。

如果不每次都重建项目,我怎样才能达到相同的结果?

我尝试使用 TypeDescriptor.AddAttributes 来更改生成类的 TableAttribute 但它不起作用。我正在考虑反射,但在这种情况下,反射似乎无能为力......

4

1 回答 1

0

是的,Linq-2-sql 是基于代码的,因此您需要手动添加它们并重新部署。我想大多数 ORM 框架都是这种情况。

您当然可以在接下来的 10 年中添加所有这些并完成它。

除非您真的转向分区等,否则这将是最好的方法。我猜这不是什么大问题。

于 2014-11-28T17:21:10.173 回答