2011-02-02 33 views
0

我是NHibernate的新手。 我使用Fluent Nhibernate,當我運行一個簡單的查詢時,我得到空結果。 這裏是我的配置:流利Nhibernate - HQL選擇問題

流利的配置:

Fluently.Configure().Database(MsSqlConfiguration.MsSql2008 
          .ShowSql() 
          .ConnectionString(c => c 
            .FromConnectionStringWithKey("MY_DB"))) 
         .Mappings(m =>m.FluentMappings.AddFromAssemblyOf<CsrDAL.Mappings.CsrRegistrationMap>()) 
         .BuildSessionFactory(); 

實體類

public class Industry 
{ 
    public virtual int Id { get; private set; } 
    public virtual string Name { get; set; } 
    public virtual IList<CsrRegistration> ReferencedRegistrations { get; set; } 
} 

地圖類

public class IndustryMap : ClassMap<Industry> 
{ 
    public IndustryMap() 
    { 
     Table("industries"); 

     Id(x => x.Id. "id"); 
     Map(x => x.Name, "name"); 
    } 
} 

存儲庫中取出的方法

public static IList<Industry> getData(CsrRegistration registration) 
    { 
     using (var session = CsrDalHelper.OpenSession()) 
     { 
      using (var transaction = session.BeginTransaction()) 
      { 
       try 
       { 
        IQuery q = session.CreateQuery("from Industry ind where ind.Id=1"); 
        IList<Industry> inds = 
         q.List<Industry>(); 
        return inds; // <-- This is null 
       } 
      } 
     } 
    } 

預先感謝您! Dimitris

+0

你有記錄在你的行業表嗎? – 2011-02-02 01:29:56

回答

0

問題出在會話管理,我的代碼中的其他地方。

我錯誤地將收集項目添加到NH會話之外的實體。

作爲nhibernate的新手,我現在正在研究更詳細的文檔。

謝謝