Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Fluent NHibernate OptimisticLock.None()导致;字符串';无';不是有效的布尔值;_C#_Nhibernate_Fluent Nhibernate_Xml Validation_Optimistic Locking - Fatal编程技术网

C# Fluent NHibernate OptimisticLock.None()导致;字符串';无';不是有效的布尔值;

C# Fluent NHibernate OptimisticLock.None()导致;字符串';无';不是有效的布尔值;,c#,nhibernate,fluent-nhibernate,xml-validation,optimistic-locking,C#,Nhibernate,Fluent Nhibernate,Xml Validation,Optimistic Locking,我正在使用以下映射: public class LoadMap : IAutoMappingOverride<Load> { public void Override(AutoMapping<Load> mapping) { mapping.HasMany(x => x.Bids).OptimisticLock.None(); mapping.Version(x => x.Version); } } publi

我正在使用以下映射:

public class LoadMap : IAutoMappingOverride<Load> {
    public void Override(AutoMapping<Load> mapping) {
        mapping.HasMany(x => x.Bids).OptimisticLock.None();
        mapping.Version(x => x.Version);
    }
}
public类LoadMap:IAutoMappingOverride{
公共无效替代(自动映射){
mapping.HasMany(x=>x.Bids).OptimisticLock.None();
mapping.Version(x=>x.Version);
}
}
但当我尝试创建会话时,会出现以下异常:

[格式异常:字符串“none”不是有效的布尔值。]

[XmlSchemaValidationException:“乐观锁”属性无效-值“无”根据其数据类型“”无效-字符串“无”不是有效的布尔值。]

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


作为旁注,如果我做得完全错误,我希望能够在不增加版本的情况下对.Bids列表进行更改。我看到一个例子,它实现了我对属性的期望。

我认为这是一个bug,正如你在评论中所说。看起来Fluent NHibernate正在将属性设置为none,但我会生成XML模式以确保这一点。

正如Jamie所说,Fluent NHibernate中似乎有一个bug(或缺少的功能)。我添加了一个允许在OptimisticLock中设置False和True的hack。这似乎有效。

我开始认为地图应该有一个乐观的锁=真|假。我很难在网上找到证实这一点的例子。在这种情况下,为什么Fluent NHibernate的有很多使用.OptimisticLock.None()而不是.Not.OptimisticLock()?是的,XML中的值是“None”而不是“false”。