簡體   English   中英

如何通過NHibernate從表中獲取數據?

[英]How get data from table with NHibernate by where?

我在我的項目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();
            }
        }
    }

我有樹簡單的方法:插入,刪除,保存。 現在我需要從DB表中獲取所有數據或者從客戶端獲取一些數據,例如模擬選擇*,其中id ='...'

你的選擇是:

就個人而言,我非常喜歡QueryOver API:

var clients = session.QueryOver<Clients>().Where(x => x.Name == "Foobar").List();

如果您只需要通過其ID獲取實體,則可以使用“ 獲取”或“加載”

var client = session.Get<Clients>(5);

如果您搜索NHibernate教程,您肯定會找到很多信息。 我聽說過關於夏季的NHibernate截屏視頻 ,但我個人還沒有看過它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM