session.CreateCriteria始终返回零记录

时间:2013-05-30 13:51:48

标签: nhibernate

我有一个基本方法,它不会从数据库中获取任何记录。在配置中,它创建表没有问题。它总是返回零记录。我已在下面添加了配置文件。我不明白这是什么问题。

   public List<Note> GetAll()
    {
        var session = NHibernateHelper.OpenSession();

        var note = session.CreateCriteria<Note>().List<Note>();

        return note.ToList();
    }

帮助者:

public class NHibernateHelper
{
    private static ISessionFactory _sessionFactory;

    private static ISessionFactory SessionFactory
    {
        get 
        {
            if (_sessionFactory == null)
            {
                InitializeSessionFactory();
            }

            return _sessionFactory; 
        }
    }

    private static void InitializeSessionFactory()
    {
        _sessionFactory = Fluently.Configure()
            .Database(MsSqlConfiguration.MsSql2008
                          .ConnectionString(
                              @"Server={server};Database=ToDo;
                                User ID=lorem;Password=lorem;
                                Trusted_Connection=False;Encrypt=True;Connection Timeout=30;")
                          .ShowSql()
            )
            .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Note>())
            .ExposeConfiguration(cfg => new SchemaExport(cfg)
            .Create(true, true))
            .BuildSessionFactory();
    }

    public static ISession OpenSession()
    {
        return SessionFactory.OpenSession();
    }

}

1 个答案:

答案 0 :(得分:0)

试试这个:

  1. 首先使用以下链接激活nhibernate中的登录:http://nhforge.org/wikis/howtonh/configure-log4net-for-use-with-nhibernate.aspx
  2. 查找异常的输出窗口或其他警告如果找不到任何内容,请转到步骤3。
  3. 完成第1步后,您可以直接在Microsoft SQL Server管理控制台或类似工具中执行原始sql语句,可能错误在类定义中。