2012-05-06 188 views
-2

我有複合主鍵的問題: 我有一個表命名爲「simulateur」,複合主鍵是Nombre_simulateur和日期 類simulateur.hbm.xml:NHibernate的複合主鍵

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true"> 
    <class name="base_donnee.simulateur, base_donnee" table="simulateur"> 
<composite-id > 
<key-property name="Nombre_simulateur"> 
     <column name="[Nombre_simulateur]" sql-type="int" /> 
     </key-property> 
     <key-property name="Date"> 
     <column name="[Date]" sql-type="nvarchar(50)" /> 
     </key-property> 
    </composite-id> 
    <property name="temps_connection" type="int" /> 
    <property name="temps_envoi" type="int" /> 
    <property name="temps_reception" type="int" /> 
    </class> 
</hibernate-mapping> 

但出現異常:無法編譯映射文件:base_donnee.simulateur.hbm.xml ---> System.InvalidOperationException:找不到方言在配置

我的文件的App.config是:

<?xml version="1.0"?> 
<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="dialect">NHibernate.Dialect.MsSql2005Dialect</property> 
     <property name="connection.connection_string_name">Northwind</property> 
     <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property> 
     <mapping assembly="base_donnee"/> 
    </session-factory> 
    </hibernate-configuration> 
    <connectionStrings> 
    <add name="Northwind" connectionString="Data Source=HP-PC\SQLEXPRESS;Initial Catalog=Simulation; Integrated Security=true" providerName="System.Data.SqlClient"/> 

    </connectionStrings> 
</configuration> 

我需要幫助,有什麼想法嗎?

+1

好像出錯了配置,可以確保通過複合ID轉換爲單id列,並試圖執行您的程序 –

+0

如果我轉換它,它的工作原理,但我有義務使關鍵複合 –

回答

2

您可能缺少connection.driver_class

以下內容添加到你的web.config: -

... 
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property> 
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> 
... 
+0

沒有它沒有工作,因爲驅動程序在這裏: