我们是否可以使用用户为表定义字段的 EF 从我们的 Web 应用程序动态地在数据库中创建表。我正在研究 MVC 4。
可能吗 ?如果是,那么该怎么做。
我们是否可以使用用户为表定义字段的 EF 从我们的 Web 应用程序动态地在数据库中创建表。我正在研究 MVC 4。
可能吗 ?如果是,那么该怎么做。
取决于您在这里对动态的理解。无法更改 Context 的运行时版本。
生成、编译、加载新代码是。因此可以声明一个新的上下文和 POCO 代码。编译并加载。全部由一段运行代码控制。
然而,持续的生命周期变得复杂。使用代码优先迁移变得棘手。
如何在 Prod 中管理对扩展的更改。如何合并正在进行的开发和产品。在生成的代码中管理 Fluent API 中的映射非常糟糕。你不能在属性中做到这一切。
上下文后空翻和自动迁移噩梦让我度过了一个晚上。
处理主要构建自然扩展和生产/本地化实现扩展变得非常困难。您需要确保将它们重新合并到构建中。
并且必须知道如何同时在同一个数据库上管理不同的上下文。
我现在正好有这个未完成的项目。在我们使用 EF6 之前,我已将其搁置。我希望仅在这个主题上花费数周时间。而且我仍然不确定我想继续沿着这条路走下去。我正在认真考虑转向元数据/桶数据方法。
所以这是可能的,但很困难(至少在我看来)。由于多上下文支持,在 EF6 中会更容易。但是它仍然会遇到这些问题中的大部分,并且仍然需要代码生成和编译。
祝你好运...