如何使用App.config中的System.Configuration.ConfigurationManager
将应用程序设置加载到NHibernate.Cfg.Configuration
对象?如何将应用程序设置加载到NHibernate.Cfg.Configuration对象?
10
A
回答
18
的app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Northwind" connectionString=
"Data Source=(local);Initial Catalog=Northwind;Trusted_Connection=True;>
</connectionStrings>
</configuration>
C#代码:
string connectionString = System.Configuration.ConfigurationManager
.ConnectionStrings["Northwind"].ToString();
NHibernate.Cfg.Configuration nHibernateConfiguration =
new NHibernate.Cfg.Configuration();
nHibernateConfiguration.SetProperty(
NHibernate.Cfg.Environment.ProxyFactoryFactoryClass,
typeof(NHibernate.ByteCode.Castle.ProxyFactoryFactory).AssemblyQualifiedName);
nHibernateConfiguration.SetProperty(
NHibernate.Cfg.Environment.Dialect,
typeof(NHibernate.Dialect.MsSql2005Dialect).AssemblyQualifiedName);
nHibernateConfiguration.SetProperty(
NHibernate.Cfg.Environment.ConnectionString, connectionString);
nHibernateConfiguration.SetProperty(
NHibernate.Cfg.Environment.FormatSql, "true");
nHibernateConfiguration.AddAssembly(Assembly.GetCallingAssembly());
ISessionFactory oneISessionFactory = nHibernateConfiguration
.BuildSessionFactory();
22
Hibernate配置也可以被移动到的app.config,这简化了启动代码。参见NHibernate参考手册中的XML Configuration File。
Configuration cfg = new NHibernate.Cfg.Configuration();
ISessionFactory sf = cfg.Configure().BuildSessionFactory();
而且在app.config中:
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="connection.connection_string_name">Northwind</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
<mapping assembly="assemblyname" />
</session-factory>
</hibernate-configuration>
<connectionStrings>
<add name="Northwind" connectionString="Data Source=(local);Initial Catalog=Northwind;Trusted_Connection=True;>
</connectionStrings>
</configuration>
+0
相关问题
- 1. 从XML中加载用户设置并将其设置为对象。未将对象设置为对象实例
- 2. 如何在应用程序设置加载中使用值?
- 3. 如何在主应用程序NIB中设置代理对象?
- 4. 如何在应用程序设置中存储对象列表
- 5. 如何将collada对象加载到three.js?
- 6. 将应用程序加载到另一个应用程序中
- 7. 将我的应用程序添加到tvOS应用程序设置屏幕
- 8. 如何将全局应用程序设置共享给成员对象?
- 9. 使用Octopus部署将应用程序设置添加到web.config
- 10. 无法将应用程序加载到设备
- 11. 如何将iOS应用程序中的用户添加到消息设置中?
- 12. 将配置加载到Redux应用程序的正确方法
- 13. 如何在iOS应用程序中将uinavigationcontroller加载到uiviewcontroller
- 14. 如何将Web Start应用程序加载到Eclipse rcp
- 15. 如何将图像加载到iOS应用程序
- 16. 如何将DirectSound加载到64位应用程序中
- 17. 如何将delphi tframe从dll加载到delphi应用程序
- 18. OOP设计:如何将DB处理合并到应用程序对象中
- 19. 如何将ArrayList保存到应用程序设置中
- 20. 如何将应用程序设置保存到文件?
- 21. UWP(C#):将3D对象添加到应用程序(库建议)
- 22. 如何更好地将配置元素映射到应用程序对象?
- 23. 将偏好设置窗口添加到Mac应用程序
- 24. 将设置添加到Android应用程序
- 25. 如何将一个对象加载到一个jQuery对象
- 26. 如何将脚本加载到XUL应用程序的初始加载后
- 27. Symfony应用程序 - 如何将计算的字段添加到Propel对象?
- 28. 如何将三个对象添加到iPhone应用程序中的mutableArray中?
- 29. 如何在swift中将设置添加到我的可可应用程序中?
- 30. WP8如何将我的应用程序添加到锁定屏幕设置
而不是做配置管理器中所获得的价值的体力劳动,可以尝试设置'connection_string_name'。请参阅[如何配置NHibernate使用连接字符串从配置节](http://stackoverflow.com/questions/455664/how-to-configure-nhibernate-to-use-connection-string-from-connectionstrings- co)和@ LachlanRoche的回答。 –
2012-04-05 21:43:32
@Joel:在你投降之前你有没有读过这个问题?它专门调用System.Configuration.ConfigurationManager。 Lachlan的回答很有帮助,但它并没有回答被问到的问题。 – 2012-04-06 12:41:02
考虑到NHibernate也使用'ConfigurationManager',它不是非常(交叉项目)DRY来重写相同的功能。 – 2012-04-06 18:13:18