[英]NHibernate Child items query using Parent Id
拯救父母和孩子,一切都很好。
但是,選擇孩子時我似乎有問題。 我似乎無法讓所有孩子都有一個特定的父母。
失敗的原因是: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>();
只需使用父項本身即可。
在您的條件中,您不應引用列名稱,而應引用屬性名稱。 將“ ParentEntity_id”更改為“ ParentEntity.Id”,這應該可以解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.