流利的Nhibernate - HQL选择问题

时间:2011-02-02 01:16:14

标签: nhibernate fluent-nhibernate hql

我是NHibernate的新手。 我正在使用Fluent Nhibernate,当我运行一个简单的查询时,我得到null结果。 这是我的配置:

流利配置:

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

提前谢谢! 迪米瑞斯

1 个答案:

答案 0 :(得分:0)

问题在于会话管理,我的代码中的其他地方。

我错误地将收集项添加到NH会话之外的实体。

作为nhibernate的新手,我现在正在更详细地研究文档。

谢谢