报错:undefined alias or unknown mapping: TestModel [From TestModel.Purview Where Pur_ID = 2]<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="TestModel.Purview,TestModel" table="purview">
    <id name="Pur_ID" column="pur_ID" type="Int32"  length="4">
      <generator class="assigned" />
    </id>
    <property name="Pur_Name" column="pur_Name" type="String" length="20" />
    <property name="Pur_State" column="pur_State" type="Boolean" />
  </class>
</hibernate-mapping>
Web.config中配置:
<nhibernate>
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
<add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2005Dialect"/>
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
<add key="hibernate.connection.connection_string" value="server=.;database=HouseDB;uid=sa;pwd=sa;"/>
</nhibernate>
调用方法:
public Object GetEntity(string table, string idFieldName, string id)
        {
            Object obj;
            string query = "select Pur_ID,Pur_Name From " + table + " Where " + idFieldName + " = " + id;
            ISession session = SessionFactory.OpenSession(_AssemblyName);//自己封装的方法,返回ISession            obj = session.CreateQuery(query).UniqueResult();//在这报上面的错            session.Close();            return obj;
        }
找不到映射文件,求救,好几天了仍为解决,高手求救了!!

解决方案 »

  1.   

    好久没用过Nhibernate了,看一下Pur_ID的类型有错,包括Model层的Pur_ID属性,应该就是这里映射错了。
    去年学习时钻研的Nhibernate,有兴趣可以看一下
    如果 还是不能解决,链接文章下面的相关文章全是相关问题的解决方法。
      

  2.   

    是用内嵌资源还是文件形式引入hbm文件的 ?还有个问题
    用的nhibernate版本是?2.x以上有变动
    <add key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
            <add key="dialect" value="NHibernate.Dialect.MsSql2005Dialect"/>
            <add key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
            <add key="connection.connection_string" value="server=.;database=HouseDB;uid=sa;pwd=sa;"/>
    把hibernate前缀去掉
      

  3.   

    推荐使用  fluentnhibernate 来自动映射
    http://fluentnhibernate.org
      

  4.   

    问题解决了,是配置文件的问题
    配置文件-XML文件应该为嵌入的资源,当时我就对这个地方不是很明白
    无意中右键点击属性才找到文件类型应该为嵌入的资源
    先谢谢各位了。
      

  5.   

    我的选择配置文件-XML文件应该为嵌入的资源也没用怎么回事呢