首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪些ORM框架将为您构建和执行SQL?

哪些ORM框架将为您构建和执行SQL?
EN

Stack Overflow用户
提问于 2011-08-19 23:38:24
回答 2查看 414关注 0票数 1

实体框架代码优先将在数据库不存在时为您构建数据库,并基于您的映射对象构建数据库。我相信Roundhouse会使用NHibernate对流畅的映射文件做同样的事情。

是否有其他ORM(或像Roundhouse这样的工具)可以处理所有SQL DDL的创建和执行?

EN

回答 2

Stack Overflow用户

发布于 2011-08-22 02:30:55

NHibernate不需要到generate database schema的流畅映射。此功能内置于NHibernate核心中:

代码语言:javascript
复制
new SchemaExport(_configuration).Execute(false, true, false);

然而,根据我的经验,这对于内存中的集成测试或初始部署非常有用。生产数据库需要为upgraded。如果您坚持使用,那么您将需要在不影响数据的情况下添加和删除列、表和外键。它有一个连续性和版本化方面。NHibernate只知道您的当前映射。例如,它不知道2个月前您将客户的名字和姓氏存储在名为"CustomerName“的列中,然后您决定将其拆分为两列"FirstName”和"LastName“(这可能是可以进行的最基本的更改)。NHibernate的工作是将您当前的模式映射到对象,而不是记住几年前的数据建模选择。

在我的经验中,没有神奇的工具可以编写升级脚本,它们必须手动编写,或者至少由开发人员审查。工具可以为您提供执行这些脚本的框架,如RoundhouseE。Scott Allen有一个关于“forward-only,run-once”方法的excellent series

票数 3
EN

Stack Overflow用户

发布于 2011-08-19 23:43:01

如果您在配置文件中将hbm2ddl.auto设置为createcreate-dropupdate,则hibernate将执行此操作。使用Java,也就是说,我假设nHibernate也是如此。

如果ORM不做ddl,那么拥有它就没有多大意义,至少它是一个关键特性。我的天。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7124025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档