1

我们首先对表和关系使用模型,对视图和存储过程首先使用数据库。

如果我们改变模型,我们必须:

- 生成数据库

- 创建视图和程序

- 将程序和视图添加到模型中

-remap 手动调用过程的函数

这会花费很多时间,因为模型经常更改或出现故障。

anyboy 知道在模型中自动集成视图和过程的解决方法吗?

4

1 回答 1

1

您可以通过创建自己的模板从 SSDL 生成 DDL 来自动化该过程。默认情况下,EF 设计器使用 SSDLToSQL10.tt 文件,但您可以创建自己的 .tt 文件,该文件将生成更适合您需求的 DDL。这应该解决 1) 和 2)。一旦你有了数据库,你现在可以从数据库中更新你的模型。这应该解决3)。最后,为了解决 4),您可以编写一个模型生成扩展,该扩展将调整设计人员在OnAfterModelGenerated / OnAfterModelUpdated方法中从数据库构建的模型。(请注意 - 设计器中的某些扩展点至少可以说很奇怪,并且可能会令人困惑/难以实现)。

您可能想要探索的另一个选项是使用 Code First 和迁移。使用迁移,您可以改进您的数据库,而不是不断地创建/删除它。如果需要,可以使用 SQL 定义迁移,以便完全控制数据库的外观。Code First 不支持 ModelFirst/DatabaseFirst 支持的某些功能(例如 TVFs/FunctionImports),因此您可能需要先检查所支持的功能是否足以满足您的需要。

于 2013-10-30T03:50:18.483 回答