首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fluent NHibernate: SchemaExport和SchemaUpdate

Fluent NHibernate: SchemaExport和SchemaUpdate
EN

Stack Overflow用户
提问于 2013-03-10 22:03:56
回答 1查看 2.4K关注 0票数 5

我需要帮助解决我的申请中的一个问题。

我在Visual中创建了一个项目,并安装和配置了Fluent NHibernate。我能够正确地配置一切,并且能够连接到我的数据库。

我试图将几行插入到我的表中,一切正常,但是每当我重新启动我的应用程序时,我注意到这些表正在被删除和重新创建,所有的数据都被删除了。

我通过以下方法解决了这个问题:

代码语言:javascript
复制
.ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(true, true))

而不是:

代码语言:javascript
复制
.ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))

到目前为止一切都还好,但现在有问题了。假设我有一个类Person.cs,它有两个字段:Id、Name.,假设我想添加一个名为Address的新属性。我将该属性添加到类中并运行我的应用程序。我尝试添加几行并检查数据库,以确定确实创建了一个名为Address的新列,并为旧条目插入了null值。

现在,假设我改变了主意,决定删除新的财产地址。我从我的Person.cs类中删除该属性并运行应用程序。我插入了几个条目,并检查了数据库,以确保列地址没有被删除,并且仍然在表中。

为什么会发生这种事?映射配置不应该为我做所有事情吗?我期望不再需要更长时间的列在数据库中被删除,就像当我向类添加新属性而又不丢失数据时所创建的那样。我该怎么办?

EN

回答 1

Stack Overflow用户

发布于 2013-03-11 02:05:31

SchemaExport/SchemaUpdate不是迁移框架。

它们只确保您的域可以与数据库一起使用,并且在开发过程中非常有用(在生产中不起作用)。

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

https://stackoverflow.com/questions/15328216

复制
相关文章

相似问题

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