使用应用程序中的EF动态创建数据库中的表

时间:2013-07-31 09:58:09

标签: entity-framework asp.net-mvc-4

我们可以使用EF在用户定义的表字段中动态地从Web应用程序在数据库中创建表。 我正在研究MVC 4。

有可能吗? 如果是,那么该怎么做。

1 个答案:

答案 0 :(得分:0)

取决于你在动态上理解的内容。不可能更改Context的运行时版本。

生成,编译,加载新代码是。因此可以声明新的上下文和POCO代码。编译并加载。全部由一段运行代码控制。

然而,正在进行的生命周期变得复杂。 使用代码首次迁移变得棘手 如何在Prod中管理chnages到扩展。 如何合并正在进行的开发和生产。 在生成的代码中管理Fluent API中的映射非常糟糕。 你无法在属性中做到这一切。

上下文后空翻和自动迁移噩梦让我花了很多时间。

处理主要构建自然扩展和生产/本地化实现扩展非常困难。您需要确保将它们合并到构建中。

必须是你需要知道如何在同一个DB上同时管理不同的上下文。

我目前正是这个完美无缺的项目。我把它搁置,直到我们在EF6上。 我希望单独花几周时间讨论这个话题。 而我仍然不确定我是否想继续这条道路。 我正在认真考虑转向元数据/桶数据方法。

所以有可能但很难(至少在我看来)。由于支持多种上下文,因此在EF6中会更容易。但它仍然会受到大多数问题的困扰,并且仍需要代码生成和编译。

祝你好运......