3

我使用下面的映射:流利的NHibernate OptimisticLock.None()會導致「字符串'none'不是有效的布爾值。」

public class LoadMap : IAutoMappingOverride<Load> { 
    public void Override(AutoMapping<Load> mapping) { 
     mapping.HasMany(x => x.Bids).OptimisticLock.None(); 
     mapping.Version(x => x.Version); 
    } 
} 

但是當我嘗試創建我得到下面的異常會話:

[出現FormatException:字符串「無」是不是一個有效的布爾值]

[XmlSchemaValidationException:該「樂觀鎖」屬性無效 - 值「無」根據其數據類型「http://www.w3.org/2001/XMLSchema:boolean」無效 - 字符串「無」不是有效的布爾值]

我使用的是NHibernate 2.1.2.4000,我使用的是Fluent NHibernate 1.0RTM,但是嘗試了最新版本636,以確保這不是最近修復的東西或其他東西。

作爲一個附註,萬一我這樣做全錯了,我希望能夠在不增加版本的情況下更改.Bids列表。我在Ayende's blog上看到了一個例子,它能夠完成我想要的屬性。

+0

我開始認爲地圖應該有一個樂觀鎖= true | false。我很難在網上找到例子來證實這一點。在這種情況下,爲什麼Fluent NHibernate的HasMany使用.OptimisticLock.None()而不是.Not.OptimisticLock()? – DavGarcia 2010-04-04 05:39:51

回答

1

正如Jamie所說,在Fluent NHibernate中看起來像一個bug(或缺少的功能)。我在my github fork中添加了一個黑客機制,允許在OptimisticLock上設置False和True。它似乎工作。

相關問題