国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

NHibernate系列學習(二)-使用sql和hql以及linq

2019-11-17 02:16:39
字體:
來源:轉載
供稿:網友

NHibernate系列學習(二)-使用sql和hql以及linq

1.本文主要介紹了NH的三種查詢方式

2.界面查看

image

3.代碼架構

image

4.代碼詳情

namespace KimismeDemo{    public partial class Form2 : Form    {        PRivate Isession session;        private ISessionFactory factory;        private ITransaction trans;        public Form2()        {            InitializeComponent();        }        #region 1.初始化NH - private void Form2_Load(object sender, EventArgs e)        private void Form2_Load(object sender, EventArgs e)        {            Configuration config = new Configuration().AddAssembly("Kimisme");            factory = config.BuildSessionFactory();            session = factory.OpenSession();            dgvList.AutoGenerateColumns = false;        }        #endregion        #region 2.0 執行 sql語句 - private void tsmiExecuteSql_Click(object sender, EventArgs e)        private void tsmiExecuteSql_Click(object sender, EventArgs e)        {            string strSql = "select * from T_Student where sId >1";            ISQLQuery sqlQuery = session.CreateSQLQuery(strSql).AddEntity(typeof(Student));            IList<Student> stuList = sqlQuery.List<Student>();            dgvList.DataSource = stuList.ToList();        }         #endregion        #region 3.0 執行存儲過程 -  private void btnExecuteStoreProc_Click(object sender, EventArgs e)        private void btnExecuteStoreProc_Click(object sender, EventArgs e)        {            trans = session.BeginTransaction();            IList<Student> stuList = new List<Student>();            ISessionFactoryImplementor imp = factory as ISessionFactoryImplementor;            IDbConnection conn = imp.ConnectionProvider.GetConnection();            IDbCommand cmd = imp.ConnectionProvider.GetConnection().CreateCommand();            try            {                cmd.CommandText = "Pro_GetStudent";                cmd.CommandType = CommandType.StoredProcedure;                IDbDataParameter parameter = cmd.CreateParameter();                parameter.ParameterName = "StudentId";                parameter.Value = 4;                cmd.Parameters.Add(parameter);                cmd.Connection = conn;                IDataReader read = cmd.ExecuteReader();                while (read.Read())                {                    Student stu = new Student();                    stu.Id = int.Parse(read.GetValue(0).ToString());                    stu.Name = read.GetValue(1).ToString();                    stu.Age = int.Parse(read.GetValue(2).ToString());                    stuList.Add(stu);                }                trans.Commit();                dgvList.DataSource = stuList.ToList();            }            catch (Exception ex)            {                MessageBox.Show(ex.Message);            }        }         #endregion        #region 4.0 執行hql語句 -private void tsmiExecuteHql_Click(object sender, EventArgs e)         private void tsmiExecuteHql_Click(object sender, EventArgs e)        {            string strHql = "from Student stu where stu.Id >:stuId";            IList<Student> stuList = session.CreateQuery(strHql).SetInt32("stuId", 7).List<Student>();            dgvList.DataSource = stuList.ToList();        }         #endregion        #region 5.0 執行linq語句-聚合函數  - Max         private void tsmiMax_Click(object sender, EventArgs e)        {            var stuList = session.QueryOver<Student>().Where(s => s.Id > 0).List();            int maxAge = (from s in stuList select s.Age).Max();            MessageBox.Show(maxAge.ToString());        }         #endregion        #region 5.1 執行linq語句-聚合函數  - Min        private void tsmiMin_Click(object sender, EventArgs e)        {            var stuList = session.QueryOver<Student>().Where(s => s.Id > 0).List();            int minAge = (from s in stuList select s.Age).Min();            MessageBox.Show(minAge.ToString());        }         #endregion        #region 5.2執行linq語句-聚合函數  - Avg        private void tsmiAvg_Click(object sender, EventArgs e)        {            var stuList = session.QueryOver<Student>().Where(s => s.Id > 0).List();            double avgAge = (from s in stuList select s.Age).Average();            MessageBox.Show(avgAge.ToString());        }         #endregion        #region 5.3執行linq語句-聚合函數  - Sum        private void tsmiSum_Click(object sender, EventArgs e)        {            var stuList = session.QueryOver<Student>().Where(s => s.Id > 0).List();            int sumAge = (from s in stuList select s.Age).Sum();            MessageBox.Show(sumAge.ToString());        }         #endregion        #region 5.4 執行linq語句-聚合函數  - Count        private void tsmiCount_Click(object sender, EventArgs e)        {            var stuList = session.QueryOver<Student>().Where(s => s.Id > 0).List();            int countAge = (from s in stuList select s.Age).Count();            MessageBox.Show(countAge.ToString());        }         #endregion    }}

5.代碼下載

下載地址


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿克苏市| 临朐县| 分宜县| 凤山县| 杭州市| 合作市| 民权县| 灵丘县| 武穴市| 全南县| 夏河县| 古交市| 贡山| 信阳市| 福海县| 锡林浩特市| 阿坝县| 瑞安市| 宜宾市| 青州市| 温宿县| 西林县| 泗水县| 南昌市| 额敏县| 泉州市| 定日县| 海兴县| 界首市| 剑阁县| 区。| 深泽县| 仪征市| 玉溪市| 镇原县| 博乐市| 梁河县| 松原市| 固原市| 长春市| 高邑县|