nhibernate不查询数据库

时间:2013-08-30 21:28:24

标签: c# nhibernate

我有一个运行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>

hibernate config:

<?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; }
    }

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

好吧,我得到了检索数据的工作,我改变了几件事,其中一件事是方言的外壳(MySQL而不是MySql)。它真的很慢......后来要考虑一下:)至少现在一切都在运行:)

  • 也忘记了映射文件扩展名中的.hbm