因此,我有一个类似于以下问题的设置:
Parent Child Setup

拯救父母和孩子,一切都很好。

但是,选择孩子时我似乎有问题。我似乎无法让所有孩子都有一个特定的父母。

失败的原因是:NHibernate.QueryException:无法解析属性:Test.Data.ChildEntity的ParentEntity_id

这是我的代码:

    public IEnumerable<ChildEntity> GetByParent(ParentEntity parent)
    {
        using (ISession session = OrmHelper.OpenSession())
        {

            return session.CreateCriteria<ChildEntity>().Add(Restrictions.Eq("ParentEntity_id ", parent.Id)).List<ChildEntity>();
        }
    }


任何帮助构建适当功能以获取所有项目的帮助将不胜感激。

哦,我正在使用Fluent NHibernate来构建映射-版本1 RTM和NHibernate 2.1.2 GA

如果您需要更多信息,请告诉我。

根据您的要求,我的流利的映射:

            public ParentEntityMap()
    {
        Id(x => x.Id);
        Map(x => x.Name);
        Map(x => x.Code).UniqueKey("ukCode");
        HasMany(x => x.ChildEntity).LazyLoad()
            .Inverse().Cascade.SaveUpdate();
    }

    public ChildEntityMap()
    {
        Id(x => x.Id);
        Map(x => x.Amount);
        Map(x => x.LogTime);
        References(x => x.ParentEntity);
    }


映射到以下两个表:

CREATE TABLE "ParentEntity" (
Id  integer,
Name TEXT,
Code TEXT,
primary key (Id),
unique (Code)
)

CREATE TABLE "ChildEntity" (
Id  integer,
Amount NUMERIC,
LogTime DATETIME,
ParentEntity_id INTEGER,
primary key (Id)
)


数据存储在SQLite中。

最佳答案

return session.CreateCriteria<ChildEntity>()
  .Add(Restrictions.Eq("ParentEntity", parent))
  .List<ChildEntity>();


只需使用父项本身即可。

关于c# - NHibernate子项查询,使用父ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2450685/

10-11 13:07
查看更多