所以,新手 NHibernate 用户;试图将我的大脑包裹在它周围。
我正在考虑如何处理部署,以及稍后将附加组件注入 Web 应用程序(这可能需要它们自己的持久性类)。
我在想使用SchemaExport
部署会很好地工作,但我想知道是否有办法让 NHibernate 以一种常见的、基于代码的方式告诉我模式导出是否已经完成。基本上,我想在这个伪代码中做一些事情:
if(!_cfg.HasSchemaForType(typeof(MyType))
ExportSchema(typeof(MyType));
else
UpdateSchema(typeof(MyType));
其中两个函数将分别在内部使用SchemaExport
or SchemaUpdate
。
编辑:伙计们,我很欣赏到目前为止的答案,但他们有点忽略了这一点。我正在尝试设置的是应用程序允许添加和删除可能需要更改数据库的附加组件的方法。我不是在谈论对我自己的代码等进行版本控制(至少,不是作为它的主要功能)。所以问题不在于我何时部署应用程序,而在于我何时添加或删除插件。之前是否部署了 theis 插件(因此是伪代码类型检查)?如果是这样,请运行更新。如果没有,请运行导出。说得通?