2014-11-21 100 views
1

在我的NHibernate映射文件中,我有兩個類,其中一個類屬性與另一個類名稱具有相同的名稱()。NHibernate映射。類名稱與屬性名稱相同

<class name="Machine" table="SpisMaszyn" dynamic-update="true"> 
    <cache usage ="read-write"/> 
    <id name="ID" column="ID" type="int"> 
     <generator class="native" /> 
    </id> 
    <property column="NazwaMaszyny" name="MachineName" /> 
    <property column="Grupa" name="Group" /> 
    </class> 


    <class name="Group" table="SpisGrup" dynamic-update="true"> 
    <cache usage ="read-write"/> 
    <id name="ID" column="ID" type="int"> 
     <generator class="native" /> 
    </id> 
    <property name="Name" column="Nazwa" /> 
    </class> 

我不知道爲什麼,但如果名稱相同,則代碼無法正常工作。在我的ModelState中,我獲得了Group的空值。我不確定是什麼原因造成的。

你有什麼想法可能會導致這種情況?

回答

1

映射是正確的。事實上,一些財產和一些其他類名稱共享相同的名稱,對NHibernate來說沒有任何問題。檢查底層的列內容。運行探查器來查看SQL查詢,並確保返回的數據是有...

原assumpiton許多到一個需要刪除

+0

這不是引用。這是一個正常的屬性(字符串)。我只是將它命名爲與班級相同。我只是不知道爲什麼會造成問題。 – 2014-11-21 12:56:38

+0

*然後抱歉我的誤解。多對一是不需要的。但是你的映射是正確的。財產與其他一類的名稱相同並不是問題。我猜想,底層列**「GRUPA」**是簡單的空或空。因爲映射是正確的;) – 2014-11-21 13:22:20

+0

是的,我認爲是這樣,但代碼在將屬性名稱更改爲GroupName後開始工作。現在很好。這真的很奇怪。 – 2014-11-21 14:25:52

相關問題