J'ai donc mis en place similaire à cette question: Parent Child SetupNHibernate articles enfant requête à l'aide Id Parent
Tout fonctionne très bien lors de l'enregistrement des parents et les enfants.
Cependant, je semble avoir un problème lors de la sélection des enfants. Je n'arrive pas à avoir tous les enfants avec un parent spécifique.
Cela échoue avec: NHibernate.QueryException: ne pouvait pas résoudre la propriété: ParentEntity_id de: Test.Data.ChildEntity
Voici mon code:
public IEnumerable<ChildEntity> GetByParent(ParentEntity parent)
{
using (ISession session = OrmHelper.OpenSession())
{
return session.CreateCriteria<ChildEntity>().Add(Restrictions.Eq("ParentEntity_id ", parent.Id)).List<ChildEntity>();
}
}
Toute aide à la construction d'une fonction appropriée pour obtenir tous les articles seraient appréciés.
Oh, je me sers Fluent NHibernate pour construire les applications - version 1 RTM et NHibernate 2.1.2 GA
Si vous avez besoin de plus amples informations, laissez-moi savoir.
Selon vous demandez, mes applications courant:
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);
}
que les cartes aux 2 tableaux suivants:
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)
)
Le magasin de données SQLite.
Quelle est votre cartographie? Bi-directionnel? Et vous avez vraiment une propriété appelée "ParentEntity_id dans ChildEntity" En d'autres termes, postez vos mappings/POCOs et cela fournira l'information nécessaire – Ted
Ajout de la cartographie et de la structure de sql J'espère que cela vous aidera Si nécessaire, je peux fournir les propriétés – thorkia