1

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

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

4

1 回答 1

0

取决于您在这里对动态的理解。无法更改 Context 的运行时版本。

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

然而,持续的生命周期变得复杂。使用代码优先迁移变得棘手。
如何在 Prod 中管理对扩展的更改。如何合并正在进行的开发和产品。在生成的代码中管理 Fluent API 中的映射非常糟糕。你不能在属性中做到这一切。

上下文后空翻和自动迁移噩梦让我度过了一个晚上。

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

并且必须知道如何同时在同一个数据库上管理不同的上下文。

我现在正好有这个未完成的项目。在我们使用 EF6 之前,我已将其搁置。我希望仅在这个主题上花费数周时间。而且我仍然不确定我想继续沿着这条路走下去。我正在认真考虑转向元数据/桶数据方法。

所以这是可能的,但很困难(至少在我看来)。由于多上下文支持,在 EF6 中会更容易。但是它仍然会遇到这些问题中的大部分,并且仍然需要代码生成和编译。

祝你好运...

于 2013-07-31T12:19:41.100 回答