Fluent NHibernate OptimisticLock.None() 会导致“The string ‘none’;不是有效的布尔值。”

发布于 2024-08-28 00:19:30 字数 928 浏览 10 评论 0 原文

我正在使用以下映射:

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 的博客上看到了一个示例用属性做了我想做的事。

I'm using the following mapping:

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

But when I try to create the session I get the following exception:

[FormatException: The string 'none' is not a valid Boolean value.]

[XmlSchemaValidationException: The 'optimistic-lock' attribute is invalid - The value 'none' is invalid according to its datatype 'http://www.w3.org/2001/XMLSchema:boolean' - The string 'none' is not a valid Boolean value.]

I'm using NHibernate 2.1.2.4000 and I was using Fluent NHibernate 1.0RTM, but tried the latest build 636 just to be sure this isn't something that was fixed recently or something.

As a side note, in case I'm doing this all wrong, I would like to be able to make changes to the .Bids list without incrementing Version. I saw an example on Ayende's blog that did what I wanted with properties.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

生死何惧 2024-09-04 00:19:30

我认为这是一个错误。 乐观锁属性的有效值为 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.

我为君王 2024-09-04 00:19:30

正如 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文