:NHibernate的映射到一個屬性欄,我有映射下sitation一些困難袋
我有一個連接ID的人,我用它來獲取地圖包和屬性。 這適用於數據庫已存在的情況。但是對於我們的單元測試,我們從模式生成一個,它會給出一個錯誤:「重複列名」。
這裏是映射:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="DomainLayer.SearchDomain" assembly="Test">
<class name="SearchPerson" table="person" lazy="false" mutable="false">
<id name="Id" column="`id`" type="int">
<generator class="identity" />
</id>
<property name="Name" column="`NAAM`" type="string" />
<property name="FirstName" column="`VOORNAAM`" type="string" />
<property name="ConnectionId" column="`Koppelid`" type="int" />
<bag name="Languages" lazy="false" mutable="false" access="field.camelcase-underscore">
<key property-ref="ConnectionId" column="Koppelid" />
<one-to-many class="DomainLayer.Person.LanguageSkill, Test" />
</bag>
</class>
</hibernate-mapping>
問題: 「Koppelid」 無論是在從袋子作爲財產Key屬性。
編輯:
的LanguageSkill映射:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="DomainLayer.Person" assembly="Test">
<class name="LanguageSkill" table="languageskill" lazy="false">
<id name="Id" type="Int32">
<generator class="identity" />
</id>
<property name="ConnectionId" column="`KoppelId`" type="Int64" />
<property name="Remark" column="`Opmerking`" type="string" />
<property name="Source" column="`CdOorsprong`" type="string" />
<property name="MotherTongue" column="`moedertaal`" type="boolean" />
<property name="ModifiedDate" column="`wyzdat`" type="DateTime" />
</class>
</hibernate-mapping>
在包裏效果鍵列的其他表中未表WN所以這可以不是問題。張貼LanguageSkill映射以及因爲我懷疑有錯誤 – Firo 2012-07-06 05:52:47
是的,你是對的。 LanguageSkill的映射包含一個屬性ConnectionId(列名「koppelid」)。我在OP中添加了語言技能映射。 – 2012-07-06 07:42:23