1

我有一个运行 Nhibernate 的 VS 2012 解决方案。我有一个 sessionmanager,和映射文件,以及一个简单的 respority,方法如下。

 public User GetUser()    
    {
        ISession session = SessionManager.OpenSession();
        User user = session.Query<User>().First();

        return user;
    }

但是...如果我调用该方法,则查询不会返回任何结果(虽然数据库中有数据)...我的映射文件等已部署到 bin 文件夹。

映射文件:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="Main.Objects.User,Main.Objects">
    <id name="Id">
      <generator class="guid.comb" />
    </id>
    <property name="UserName"/>

  </class>
</hibernate-mapping>

休眠配置:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory name="">
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
    <property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
    <property name="connection.connection_string">Server=localhost;Database=DB;uid=root;pwd=root</property>
    <mapping assembly="Main.Objects"/>
  </session-factory>
</hibernate-configuration>

基本用户类:

 public class SYUser
    {
        public virtual Guid Id { get; set; }

        public virtual string UserName  { get; set; }
    }

映射和休眠配置文件在数据库特定的类库中,查询在另一个类库中,对象也在另一个类库中......所以 3 个类库

有任何想法吗?

4

1 回答 1

1

好吧,我得到了数据的检索工作,我改变了几件事,其中一件事是方言的大小写(MySQL 而不是 MySql)。虽然它真的很慢......必须稍后再考虑:) 至少现在一切正常:)

  • 也忘记了映射文件扩展名中的 .hbm
于 2013-09-03T07:18:04.217 回答