2013-08-30 101 views
0

我有一個運行Nhibernate的VS 2012解決方案。我有一個會話管理器,映射文件和一個簡單的respority與下面的方法。nhibernate不查詢數據庫

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

     return user; 
    } 

但是...如果我調用該方法,沒有結果從查詢(同時有在DB數據)返回......我的映射文件等被部署到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類庫

任何想法?

+0

旁邊的事實,你應該使用'using'構造,你需要提供更多的細節。有很多事情可能是錯誤的。 – BartoszKP

+0

編輯了更多信息 – user2713516

+1

也許你可以在'session-factory'部分添加' true'來查看發出了什麼查詢,如果有的話? – BartoszKP

回答

1

那麼我得到了數據檢索的工作,我改變了幾件事情,其中​​一件事是方言(MySQL而不是MySQL)的外殼。這實在是太慢了,雖然......已經尋找到後來:)至少現在一切工作:)

  • 忘記在映射文件擴展名.hbm以及
+0

是的,.hbm作爲嵌​​入式資源是問題! –