Fluent NHibernate OptimisticLock.None() 会导致“The string ‘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:字符串“none”不是有效的布尔值。]
[XmlSchemaValidationException:“乐观锁”属性无效 - 根据其数据类型“http://www.w3.org/2001/XMLSchema:boolean' - 字符串“none”不是有效的布尔值。]
我正在使用 NHibernate 2.1.2.4000,并且我正在使用 Fluent NHibernate 1.0RTM,但尝试了最新的版本 636 只是为了确保这不是最近修复的问题或其他问题。
附带说明一下,万一我做错了,我希望能够在不增加版本的情况下对 .Bids 列表进行更改。我在 Ayende 的博客上看到了一个示例用属性做了我想做的事。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为这是一个错误。 乐观锁属性的有效值为 true|false,正如您在评论中所述。 Fluent NHibernate 似乎将该属性设置为 none,但我会生成 XML 模式以确保确定。
I think it's a bug. Valid values for the optimistic-lock property are true|false, as you state in your comment. It appears that Fluent NHibernate is setting the property to none but I would generate the XML schema to be sure.
正如 Jamie 所说,看起来像是 Fluent NHibernate 中的一个错误(或缺失的功能)。我添加了一个 hack,允许在 我的 github fork。似乎有效。
As Jamie says, looks like a bug (or missing feature) in Fluent NHibernate. I've added a hack to allow setting False and True on OptimisticLock in my github fork. It seems to work.