C# 如何通过NHibernate从何处获取表中的数据?

C# 如何通过NHibernate从何处获取表中的数据?,c#,hibernate,nhibernate,C#,Hibernate,Nhibernate,我在我的项目中使用的NHibernate如下: public class DBHelper { private static ISessionFactory sessions; public static void Configure() { sessions = new Configuration().Configure().AddClass(typeof(Clients)).BuildS

我在我的项目中使用的NHibernate如下:

public class DBHelper
    {
        private static ISessionFactory sessions;

        public static void Configure()
        {            
            sessions = new Configuration().Configure().AddClass(typeof(Clients)).BuildSessionFactory();
            //ISessionFactory factory = Fluently.Configure().Mappings(m => m.FluentMappings.AddFromAssemblyOf<Clients>()).Database(MsSqlConfiguration.MsSql2005.ConnectionString(c => c.FromConnectionStringWithKey(DBConnection.GetConnectionString())).BuildSessionFactory();
        }

        public static void Insert(Clients pb)
        {            
            using (ISession session = sessions.OpenSession())           
            using (ITransaction tx = session.BeginTransaction())
            {                
                session.Save(pb);                
                tx.Commit();
            }
        }

        public static void UpdateContact(Clients pb)
        {
            using (ISession session = sessions.OpenSession())
            using (ITransaction tx = session.BeginTransaction())
            {
                session.Update(pb);
                tx.Commit();
            }
        }

        public static void DeleteContact(Clients pb)
        {
            using (ISession session = sessions.OpenSession())
            using (ITransaction tx = session.BeginTransaction())
            {
                session.Delete(pb);
                tx.Commit();
            }
        }
    }
公共类DBHelper
{
私人静态会话;
公共静态void Configure()
{            
sessions=new Configuration().Configure().AddClass(typeof(Clients)).BuildSessionFactory();
//ISessionFactory factory=fluntly.Configure().Mappings(m=>m.FluentMappings.AddFromAssemblyOf()).Database(MsSqlConfiguration.MsSql2005.ConnectionString(c=>c.FromConnectionStringWithKey(DBConnection.GetConnectionString()).BuildSessionFactory();
}
公共静态无效插入(客户端pb)
{            
使用(ISession session=sessions.OpenSession())
使用(ITransaction tx=session.BeginTransaction())
{                
session.Save(pb);
tx.Commit();
}
}
公共静态void UpdateContact(客户端pb)
{
使用(ISession session=sessions.OpenSession())
使用(ITransaction tx=session.BeginTransaction())
{
更新(pb);
tx.Commit();
}
}
公共静态无效删除联系人(客户端pb)
{
使用(ISession session=sessions.OpenSession())
使用(ITransaction tx=session.BeginTransaction())
{
删除(pb);
tx.Commit();
}
}
}
我有简单的方法:插入,删除,保存。 现在我需要从DB表或类似模拟的数据中获取所有数据 从id=“…”的客户端中选择*您的选项是:

就我个人而言,我非常喜欢QueryOver API:

var clients = session.QueryOver<Clients>().Where(x => x.Name == "Foobar").List();
var clients=session.QueryOver()。其中(x=>x.Name==“Foobar”).List();
如果只需要通过实体ID获取实体,则可以使用

var-client=session.Get(5);
如果你搜索NHibernate教程,你肯定会找到很多信息。我听说过关于的好消息,但我个人还没有见过它们。

第一个链接“标准查询”不再有效。
var client = session.Get<Clients>(5);