我有一个没有ParentId属性但在数据库中具有所需外键的孩子。我试图让使用ParentId的孩子使用NHibernate,但它抛出一个错误,说无法解析属性ParentId。使用NHibernate从父母身份获取孩子
public class Parent
{
public int ParentId{ get; set; }
public string Name{ get; set; }
}
public class Child
{
public int ChildId{ get; set; }
public string Name{ get; set; }
}
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="SomeAssembly"
namespace="SomeAssembly.SomeNamespace">
<class name="Parent" lazy="false" table="Parents">
<id name="ParentId">
<generator class="native" />
</id>
<property name="Name" />
</class>
<class name="Child" lazy="false" table="Children">
<id name="ChildId">
<generator class="native" />
</id>
<property name="Name" />
</class>
</hibernate-mapping>
更多信息会更好。就像casses的样子和映射文件一样。 – chrissie1 2010-07-06 10:19:03
当然,你必须映射属性(通过noop,因为你下面说,你不能改变原来的类),或使用SQL查询。 SQL查询是我知道你可以在哪里给NHibernate一个列名(而不是属性名)的唯一地方,并要求它对它做些什么。 – apollodude217 2010-07-07 01:28:26