我以为我知道我在NHibernate的方式,但我一定在做一些愚蠢的事情。我有一个名为Category的表/类。当我从我的GetAll方法中提取数据时,没有任何回应,但也没有错误。NHibernate没有看到表格,MappingException
类是:
namespace Model
{
[Serializable]
public partial class Category
{
public virtual int Id { get; set; }
public virtual DateTime CreatedOn { get; set; }
public virtual DateTime UpdatedOn { get; set; }
public virtual string Name { get; set; }
public override bool Equals(object oneObject)
{
return oneObject is Category && (this.GetHashCode() == ((Category)oneObject).GetHashCode());
}
public override int GetHashCode()
{
return Id.ToString().GetHashCode();
}
}
}
映射文件:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" namespace="Model" assembly="Model" xmlns="urn:nhibernate-mapping-2.2">
<class name="Category" lazy="true" table="`categories`"><!--test only!!-->
<id name="Id" access="property" column="`category_id`">
<generator class="native" />
</id>
<property name="Name" column="`name`" length="50" />
</class>
</hibernate-mapping>
如果我添加一个多到一的另一个表中的参考,然后将其与错误:An association from the table manufacturer_categories refers to an unmapped class: Model.Category
。
在我看来很明显NHibernate没有识别我的映射文件。我错过了什么愚蠢的东西?
Didja检查出明显的事情,比如添加.hbm部分XML文件,或者确保它被设置为嵌入的内容? – 2013-05-06 21:39:24
@Cosmo_D - 是的,我检查了.hbm.xml。什么是“嵌入式内容”? – scojomodena 2013-05-06 21:58:21
查看http://stackoverflow.com/questions/16340974/createsqlquery-works-but-queryover-doesnt-with-nhibernate/16377359#16377359嵌入式资源 – Rippo 2013-05-07 04:44:22