2009-09-01 52 views
1

這是一個流利的NHibernate新手問題,請耐心等待。覆蓋流利的NHibernate Automappings

我有一組類,我正在使用Automapping功能。

但我需要用Unique約束標記其中一種技術的屬性之一。

在流利的Wiki,它說

有時有必要作出具體的實體, 的輕微變化,不希望有任何影響 別的;你可以用 覆蓋方法來做到這一點。

.Override(地圖=> {
map.HasMany(X => x.Products) .Cascade.All();});

但我找不出應用.Override方法的對象。

現在,我有

AutoPersistenceModel returnModel = AutoMap.AssemblyOf()

但AutoPersistenceModel對象不具有覆蓋方法。

有人可以給我一些簡單的示例代碼來引導我通過這個,或指向我的一些例子的鏈接?

謝謝。

回答

3

它在1.0 RTM中有一個Override方法。你這樣使用它:

AutoMap.AssemblyOf<Person>().Override<Shelf>(map => 
{ 
    map.HasMany(x => x.Products).Cascade.All(); 
}); 
+0

嗯。我引用的FluentNHibernate dll具有1.0.0.0的產品版本,但Intellisense肯定不會顯示Override方法。如果我無論如何強制它,並嘗試構建它,我會得到一個錯誤,「... AutoPersistenceModel不包含覆蓋的定義...」 –

+0

您需要仔細檢查,你有正確的程序集版本。我從http://fluentnhibernate.org/downloads/releases/fluentnhibernate-1.0RTM.zip下載它,AutoPersistenceModel類肯定有Override方法。它也有版本= 1.0.0.593而不是1.0.0.0 –

+0

我的道歉。你是對的。我有1.0RC版本,而不是1.0RTM。謝謝你的幫助。 –