gpt4 book ai didi

NHibernate:无法解析继承的 id 属性

转载 作者:行者123 更新时间:2023-12-02 03:51:25 27 4
gpt4 key购买 nike

我有下面定义的实体:

public class Foo : Entity<Foo.FooId>
{
public class FooId
{
public virtual String Bar { get; protected internal set; }
public virtual Int32 Buzz { get; protected internal set; }
}

// ...
}

这是基类:

public abstract class Entity<T> : IEquatable<Entity<T>>
{
public virtual T Id { get; protected internal set; }

// ...
}

我要将“Id”属性映射为“复合键”,因此我添加了以下映射类:

public class FooMap : ClassMapping<Foo>
{
public FooMap()
{
ComponentAsId(x => x.Id, m =>
{
m.Property(p => p.Bar);
m.Property(p => p.Buzz);
});
}
}

这一切都很好,但是我在以下查询尝试中遇到错误:

session.QueryOver<Foo>()
.Where(m => m.Id.Bar == "a" &&
m.Id.Buzz == 2).List();

我得到的错误是:NHibernate.QueryException:无法解析属性:Id of:Foo

这很奇怪,因为通过删除基类并将所有内容封装在“Foo”中,它就像一个魅力。提前致谢。

最佳答案

这是一个错误,报告为 NH-3105 .它现在已修复在最近的 source code 中并将作为 3.3.3.GA 发布。

关于NHibernate:无法解析继承的 id 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14254578/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com