我们首先对表和关系使用模型,并首先对视图和存储过程使用数据库。
如果我们改变模型,我们必须:
- 生成数据库
- 创建视图和程序
- 为模型添加程序和视图
手动-remap函数调用程序
这会花费很多时间,因为模型经常更改或出现故障。
anyboy是否知道在模型中自动集成视图和过程的解决方法?
答案 0 :(得分:1)
您可以通过创建自己的模板来自动化该过程,以便从SSDL生成DDL。默认情况下,EF设计器使用SSDLToSQL10.tt文件,但您可以创建自己的.tt文件,该文件将生成更符合您需求的DDL。这应该解决1)和2)。拥有数据库后,您现在可以从数据库更新模型。这应该是3)。最后要解决的问题4)你可以写一个Model Generation Extension来调整设计师在OnAfterModelGenerated / OnAfterModelUpdated方法中从数据库构建的模型。 (请注意 - 设计师中的一些扩展点至少可以说是奇怪的,可能会令人困惑/难以实现)。
您可能想要探索的另一个选项是使用Code First和Migrations。使用迁移,您可以改进数据库,而不是不断创建/删除它。如果需要,可以使用SQL定义迁移,以便完全控制数据库的外观。 Code First不支持ModelFirst / DatabaseFirst支持的某些功能(例如TVF / FunctionImports),因此您可能需要先检查支持的内容是否足够。