繁体   English   中英

流畅的NHibernate OptimisticLock.None()导致“字符串'none'不是有效的布尔值。”

[英]Fluent NHibernate OptimisticLock.None() causes “The string 'none' is not a valid Boolean value.”

我正在使用以下映射:

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

但是当我尝试创建会话时,我得到以下异常:

[FormatException:字符串'none'不是有效的布尔值。]

[XmlSchemaValidationException:'optimistic-lock'属性无效 - 值'none'根据其数据类型' http://www.w3.org/2001/XMLSchema:boolean '无效 - 字符串'none'不是有效的布尔值。]

我正在使用NHibernate 2.1.2.4000而我正在使用Fluent NHibernate 1.0RTM,但是尝试了最新版本636只是为了确保这不是最近修复的东西或其他东西。

作为旁注, 如果我做错了 ,我希望能够在不增加版本的情况下对.Bids列表进行更改。 我在Ayende的博客上看到了一个例子,它通过属性做了我想要的事情。

我认为这是一个错误。 正如您在注释中声明的那样, optimistic-lock属性的有效值为true | false 似乎Fluent NHibernate将属性设置为none,但我会生成XML模式以确定。

正如Jamie所说,看起来像Fluent NHibernate中的一个bug(或缺少的功能)。 我添加了一个hack来允许在我的github fork中设置False和True。 它似乎工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM