Chr*_*ris 5 t4 entity-framework visual-studio ef-code-first ef-database-first
我们的解决方案目前基于 Entity Framework Database First。我们有一个从 EDMX 生成存储库类的 T4 模板。
我们正在审查发布更改的计划方法,尤其是数据库更改。如果我们先继续Database,那么我们需要单独生成脚本来改变开发和其他数据库。
似乎使用 Code First,我们只需更改模型并生成脚本来更改各种数据库。这看起来更直接,不涉及手工编写脚本过程和更低的风险。
因此,如果我们进行切换,是否只是以下情况:
最后,我们将如何看待模型之间的关系?有没有办法创建图表?
谢谢,
克里斯
这是我过去做过的事情。随着时间的推移,我尝试了很多不同的方法。目前,我正在使用EF Reverse Poco Generator来允许对数据库进行更改并反映在代码中,并最初生成模型/Poco 类。我还可以手动更改现有的类。然后我为每个更改生成迁移。
代码优先模型允许像现在一样定义导航属性,因此您可以通过代码和可视化类关系的工具来查看关系。
如果您想查看数据库结构,您可以使用 MS Sql 中的“数据库图”功能(如果您正在使用该功能)。我的印象是,我们鼓励您使用实体框架本身以外的工具来可视化数据库或类关系。这使得 EF 团队能够专注于数据库代码,而不是与 VS 进行复杂的 UI 集成。
我个人依赖数据库图来检查我的类结构和它们输出的数据库,但我发现只查看 Poco 类是很自然的。我还没有找到任何特殊的类图绘制工具。
话虽这么说,你的陈述是正确的。尽管我会从现有数据库的 EF Reverse Poco 生成的类开始,为您提供额外的灵活性。使用反射而不是 XML 解析将您的 T4 指向这些类(查看 T4 Toolbox 的输出文件管理)以帮助您入门。
当您开始时,反思程序集是一个棘手的问题。您需要确保已编译 EF/Poco 程序集,以便可以将其加载到内存中并由 T4 反映。在极少数情况下,根据您加载程序集的方式,它可能会停止刷新程序集,因此您必须重新启动 VS。我每个月都会遇到几次这种情况,所以这对我来说并不是什么大问题。一旦我启动并运行它就有意义了。
| 归档时间: |
|
| 查看次数: |
4642 次 |
| 最近记录: |