J'essaie de créer un arbre dans une table unique en utilisant Fluent Nhibernate. La table doit ressembler à ceci: Exception sur le mappage On-To-Many dans une table. Impossible de trouver la propriété ni le champ X dans la classe Y
Modèle Classe:
public class Category
{
public virtual int CategoryId { get; set; }
public virtual string CategoryName { get; set; }
public virtual Category ParentCategory { get; set; }
public virtual IList<Category> ChildCategory { get; } = new List<Category>();
}
mapping class:
public class CategoryMap : ClassMap<Category>
{
public CategoryMap()
{
Id(x => x.CategoryId).GeneratedBy.Increment();
Map(x => x.CategoryName).Not.Nullable();
References(x => x.ParentCategory).Column("ParentCategoryId").Access.CamelCaseField();
HasMany(x => x.ChildCategory)
.Cascade.AllDeleteOrphan()
.AsSet()
.KeyColumn("CategoryId")
.Access.CamelCaseField();
}
}
retour ORM exception suivante:
NHibernate.PropertyNotFoundException: Impossible de trouver la propriété ni champ 'childCategory' dans la classe 'MyProj.Models.Category'
J'étudie seulement NH. Qu'est-ce que je fais mal?
Merci de votre réponse. Je corrige la classe 'Category' et obtiens une autre exception' NHibernate.PropertyNotFoundException: Impossible de trouver la propriété ni le champ 'parentCategory' dans la classe 'MyProj.Models.Category'' – Seva
@Seva, supprime '.Access.CamelCaseField()' de 'ParentCategory 'cartographie. Pas besoin d'utiliser ça quand la propriété a un setter. –