使用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)

posted on 2005-08-03 22:53  乔本生涯a  阅读(2763)  评论(3编辑  收藏  举报

导航