NHibernate: Unable to resolve property: _Property

This issue occurred when

  • There are two entities, same class, same table, different entity names.
  • Both entities have one-to-many relationship to a child table
  • Both one-to-many relationships specify the foreign key column as not-null=”true”
  • Try to call Session.Merge on one entity, with additional new child entities inside.

After trying random configurations, somehow removing not-null=”true” from one entity hbm mapping solves this issue.

No idea why, the only way is, perhaps, to debug NHibernate code.

Update in Jan 2021: Seems that setting inverse = “true” to one of the entities will solve the problem

For inverse = “true” in NHibernate, refer to this link: https://mkyong.com/hibernate/inverse-true-example-and-explanation/

It’s also possible to fix this issue by setting up both one-to-many and many-to-one relationships between 2 entities.

NHibernate, Unable to resolve property _Namespace

This bug was reported and fixed before in earlier versions of NH( https://nhibernate.jira.com/browse/NH-3234 ), but for some reason it resurfaced and hasn’t been fixed since (https://nhibernate.jira.com/browse/NH-3886)

This happens when

  • There is a one-to-many relationship between Parent and Child with cascading.
  • A child has a many-to-one reference to parent in .hbm.xml mapping file.
  • A transient entity of Parent has new transient entities of Child
  • Performing Session.Merge(parent)

The error thrown is in the format: Unable to resolve property: _Namespace. Where namespace is the first part of your namespace in the project.

Somehow removing the many-to-one configuration from the Child entity hbm.xml file will stop NHibernate from throwing this error.

Hopefully it will be fixed in the future versions of NH.