2009-11-19 121 views

回答

2

是的,如果您使用的是fluent configuration APIConfigure方法有一個重載,它需要一個現有的NHibernate Configuration實例,該實例可以從您的hibernate.cfg.xml構建。

0

好吧,這顯然是我的錯。我嘗試將NHibernate Configurtion對象傳遞給Fluently.Configure()方法,但是我的代碼拋出了各種錯誤。問題出在NHibernate'Fluent-NHibernate'用戶的版本上。我不知道代理工廠類屬性現在是強制性的。所以,我的hibernate.cfg.xml文件缺少該屬性。這很奇怪,流利的NHibernate沒有給我任何線索。這是當我嘗試使用普通的NHibernate,我發現這個問題。以下是我的hibernate.cfg.xml文件的不同版本。希望它有助於未來的開發者。

第一版

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
    <session-factory> 
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> 
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect,NHibernate</property> 
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=SchoolPilot;Integrated Security=True</property> 
    <property name="show_sql">true</property> 
    </session-factory> 
</hibernate-configuration> 

版本二

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
    <session-factory> 
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> 
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect,NHibernate</property> 
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property> 
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=SchoolPilot;Integrated Security=True</property> 
    <property name="show_sql">true</property> 
    </session-factory> 
</hibernate-configuration>