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