2015-08-25 44 views
0

我用NHibernate建立一個項目,我有一個問題。NHMap的結果是空的ClassMap,但不是與原始的SQL

當我嘗試這樣做:

public Person GetById(int id) 
     { 
      using (var unitOfWork = new UnitOfWork(_nHibernateFactory.GetFactory())) 
      { 
       var result = unitOfWork.CurrentSession.CreateSQLQuery("SELECT * FROM [TABLENAME]").List(); 

      } 

     } 

我得到精細的結果,我可以查詢我的數據。

然而,當我有這個ClassMap

public class PersonMap:ClassMap<Person> 
    { 
     public PersonMap() 
     { 
      Table("TABLENAME"); 
      Id(p => p.Id); 
      Map(p => p.Name); 
     } 
    } 

我跑:

public Person GetById(int id) 
     { 
      using (var unitOfWork = new UnitOfWork(_nHibernateFactory.GetFactory())) 
      { 
       var result = unitOfWork.CurrentSession.Query<Person>().ToList(); 
     } 

結果是空的,儘管他們應該在同一個表(我已經交檢查表名一樣)。

任何想法?

+0

你嘗試用sql-profiler觀看實際查詢嗎? – Backs

+0

@不幸的是,我沒有系統管理員權限:-) –

+0

您不需要系統管理員權限來檢查實際的SQL查詢。您可以使用[NH Prof](http://www.hibernatingrhinos.com/products/nhprof)這樣的工具來執行此操作 – Suhas

回答

相關問題