zoukankan      html  css  js  c++  java
  • 使用NHibernate进行开发

    使用NHibernate开发主要有下面的几个步骤:
        ① 将NHibernate及相关的程序集引入到工程中,并对其进行配置
        ② 公用的数据层代码,如对SessionFactory等公用的操作进行封装
        ③ 创建实体层的类和相应的映射文件(可用Cool Coder等工具生成)
        ④ 生成业务层的代码框架,主要包括增、删、改、查等操作

    本章关注"① 业务层的代码框架"


    业务层的代码框架

    一、增加
    二、删除
    三、修改
    四、查询
    五、其他
      把结果转变成DataSet
      如果想把返回的IList转变成DataSet,我们只要调一个通用的方法即可,而如果想从DataSet转变成实体类组成的IList,将会非常复杂。
      转换成DataSet的通用的方法如下:

        Private Function ConvertToDS(ByVal lst As IList, ByVal typ As System.Type) As DataSet
            Dim obj As Object
            Dim ds As New DataSet

            Dim tbl As DataTable = ds.Tables.Add(typ.Name)
            ' Get the public properties.
            Dim myPropertyInfo As System.Reflection.PropertyInfo() = typ.GetProperties((System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance))

            Dim pi As System.Reflection.PropertyInfo
            For Each pi In myPropertyInfo
                tbl.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()))
            Next

            For Each obj In lst
                Dim dr As DataRow = tbl.NewRow

                For Each pi In myPropertyInfo
                    dr(pi.Name) = pi.GetValue(obj, Nothing)
                Next

                tbl.Rows.Add(dr)
            Next

            Return ds
        End Function
     

      使用上面的方法来生成DataSet的方法如下:

      Dim Cust As New CustomerBR
      Dim customerLst As IList

      customerLst = Cust.GetCustomers("from Customers")

      Dim myType As System.Type = GetType(Customers)
      DataGrid1.DataSource = ConvertToDS(customerLst, myType).Tables(0)

  • 相关阅读:
    redis 基本类型命令
    吴寿仁 学术
    吴寿仁:上海科技成果转化40年
    从“四技”服务的收益中提取奖酬金是否不受当年本单位工资总额限制、不纳入本单位工资
    高校科技成果转化为什么就这样的难
    高校成果转换
    中华人民共和国 促进科技成果转化法
    上海市促进科技成果转化条例
    项目管理
    欧几里得方法计算最大公约数Python版本
  • 原文地址:https://www.cnblogs.com/qiao198/p/207000.html
Copyright © 2011-2022 走看看