我们每 6 个月运行一系列报告,并将结果存储到可以在未来随时查询/查看的表格中。根据循环,将添加两个或四个表。它们具有 yyyy_mmm_Table_x 的标准命名约定。
我们的网站是使用 ASP.Net MVC2 构建的,并且数据库是使用标准模型设计器而不是 Code First 使用 EF4 建模的。
我希望能够在运行时将报告表动态添加到 EF4 上下文中。我不想使用设计器手动将它们添加到模型中,否则每个报告周期我们都必须更新和重新编译模型,因为我们添加了额外的报告。当没有其他任何改变时,这将是一个令人头疼的维护问题。
我可以通过查询 sysobjects 来获得可用表的列表。如果我可以在站点启动时获取此列表并将表添加到上下文中,那么我可以使用动态 LINQ 库之类的东西来查询它们,具体取决于用户从下拉列表中选择的表。
我不能开箱即用地使用 EF4 的 Code First,因为这将迫使我为表创建具体的类,而这将是同样令人头疼的维护问题。我怀疑我可以使用 Code First 框架用来动态更新上下文的相同策略,但我根本没有看过这个库,我希望熟悉它的人能指出我正确的方向。
否则我想我将不得不回到 ADO.Net 来处理这个领域。这可能是最好和最简单的方法,所以我想我正在寻找评论。我不是狂热者,所以我不需要所有东西都在 LINQ 和 EF4 中。:) 但它似乎更清洁和一致,特别是如果它允许我使用动态 LINQ。但有时旧方法更简单。
因此,如果您有任何建议或意见,我很乐意听取他们的意见。
谢谢!