|
|
1
2
您可以使用session.CreateSQLQuery(),但它在您的场景中有一个缺点。 为了使用CreateSQLQuery,您需要为每个数据库都有一个会话管理器,根据结果构建域实体的映射文件和类,等等。。。 NHibernate映射到实体,所以如果您想编写原始SQL并返回结果的数据表,只需使用标准的ODBC驱动程序并按照旧的方式进行操作。 NHibernate使开发和维护变得更快、更容易,如果您想在未来快速维护和添加新功能,就应该正确使用它。 正如强大的克雷格·奎伦(Craig Quillen)所说,“如果这是合法的基础设施,并且可以节省你的时间和失眠的夜晚,那么这是一个很好的投资回报率”。 您可以设置NHibernate来访问任意数量的数据库,使用任意数量的数据引擎类型。您还可以使用IoC容器对数据库会话进行抽象,使其几乎透明。 您应该使用代码配置( example here )创建几个会话工厂,每个工厂都有自己的ConnectionString、Dialect和Driver。这些将被创建为静态或“按需IoC”单体。然后,根据您需要加载的实体,您的IoC工厂可以从正确的NHibernate会话工厂请求会话。 为了以自动方式直接从数据库表生成映射文件和实体,请使用类似于以下内容的工具: http://nmg.codeplex.com/ |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |