2013-01-02 34 views
0

我想在我的應用程序中更新nHibernate版本。 我用過的NuGet和更新NHibernate的v2.1.2.4000到v3.3.2.4000 和Fluent NHibernate的從v1.1.0.685到v1.3.0.733更新流利nHibernate導致缺失屬性的問題

我期待的一些問題,但我的錯誤越來越奇怪,我無法弄清楚。

在我的「多對多」公約有這一行:

var userDefined = instance.Relationship.Columns.UserDefined.FirstOrDefault(); 
if (userDefined != null) 
{ 
    instance.Relationship.Column(userDefined.EntityType.Name + "Id"); 
} 

的問題是,「用戶自定義」屬性不再存在DLL文件的更新之後。我不明白的是,我是否需要在某個地方重新定義它,或者是否有不同的訪問方式。

我的印象是「UserDefined」屬性是流利的nHibernate的一部分。 有誰知道如何讓這個工作?

非常感謝

回答

0

FluentNHibernate重構它代表特定值的方式。

之前有一個價值和指標誰設置它們(默認,慣例,明確)。現在所有三種類型都有值,讀取時使用類似explicit ?? convention ?? default的東西,因此不再需要顯式/用戶定義值的測試。

刪除全部行,但instance.Relationship.Column(userDefined.EntityType.Name + "Id");

+0

用戶定義不沒有這是本第一行存在: VAR用戶定義= instance.Relationship.Columns.UserDefined.FirstOrDefault(); – Nick

+0

我現在無法檢查,但instance.Type.FullName();也許 – Firo

+0

有一個︰instance.ChildType.FullName 但是什麼驅使我的堅果是,我可以找到沒有文檔發生了什麼事情在NHibernate 3「Relationship.Columns.UserDefined」 – Nick