首页 / 网页编程 / ASP.NET / 数据库组件 Hxj.Data (一)(介绍篇)
        
            数据库组件 Hxj.Data (一)(介绍篇)2011-07-21 博客园 steven huHxj.Data经过几个月的开发,终于发布了一个版本,并同时发布实体生成工具。在开发过程参考了多个ORM框架,特别是NBear,MySoft等。 吸取了他们的一些精华,加入自己的新思想。目前支持Sql20002005,MsAccess,Oracle三个数据库,如有需要可再扩展。数据库实体生成的代码Northwind数据库中Products表://------------------------------------------------------------------------------
// <auto-generated>
//   此代码由工具生成。
//   运行时版本:2.0.50727.4200
//
//   对此文件的更改可能会导致不正确的行为,并且如果
//   重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Data;
using System.Data.Common;
using Hxj.Data;
using Hxj.Data.Common;
namespace Hxj.Model
{
   /// <summary>
   /// 实体类Products 。(属性说明自动提取数据库字段的描述信息)
   /// </summary>
   [Serializable]
   public class Products : Entity
   {
     public Products():base("Products") {}
     #region Model
     private int _ProductID;
     private string _ProductName;
     private int? _SupplierID;
     private int? _CategoryID;
     private string _QuantityPerUnit;
     private decimal? _UnitPrice;
     private int? _UnitsInStock;
     private int? _UnitsOnOrder;
     private int? _ReorderLevel;
     private bool _Discontinued;
     /// <summary>
     ///
     /// </summary>
     public int ProductID
     {
       get{ return _ProductID; }
       set
       {
         this.OnPropertyValueChange(_.ProductID,_ProductID,value);
         this._ProductID=value;
       }
     }
     /// <summary>
     ///
     /// </summary>
     public string ProductName
     {
       get{ return _ProductName; }
       set
       {
         this.OnPropertyValueChange(_.ProductName,_ProductName,value);
         this._ProductName=value;
       }
     }
     /// <summary>
     ///
     /// </summary>
     public int? SupplierID
     {
       get{ return _SupplierID; }
       set
       {
         this.OnPropertyValueChange(_.SupplierID,_SupplierID,value);
         this._SupplierID=value;
       }
     }
     /// <summary>
     ///
     /// </summary>
     public int? CategoryID
     {
       get{ return _CategoryID; }
       set
       {
         this.OnPropertyValueChange(_.CategoryID,_CategoryID,value);
         this._CategoryID=value;
       }
     }
     /// <summary>
     ///
     /// </summary>
     public string QuantityPerUnit
     {
       get{ return _QuantityPerUnit; }
       set
       {
         this.OnPropertyValueChange(_.QuantityPerUnit,_QuantityPerUnit,value);
         this._QuantityPerUnit=value;
       }
     }
     /// <summary>
     ///
     /// </summary>
     public decimal? UnitPrice
     {
       get{ return _UnitPrice; }
       set
       {
         this.OnPropertyValueChange(_.UnitPrice,_UnitPrice,value);
         this._UnitPrice=value;
       }
     }
     /// <summary>
     ///
     /// </summary>
     public int? UnitsInStock
     {
       get{ return _UnitsInStock; }
       set
       {
         this.OnPropertyValueChange(_.UnitsInStock,_UnitsInStock,value);
         this._UnitsInStock=value;
       }
     }
     /// <summary>
     ///
     /// </summary>
     public int? UnitsOnOrder
     {
       get{ return _UnitsOnOrder; }
       set
       {
         this.OnPropertyValueChange(_.UnitsOnOrder,_UnitsOnOrder,value);
         this._UnitsOnOrder=value;
       }
     }
     /// <summary>
     ///
     /// </summary>
     public int? ReorderLevel
     {
       get{ return _ReorderLevel; }
       set
       {
         this.OnPropertyValueChange(_.ReorderLevel,_ReorderLevel,value);
         this._ReorderLevel=value;
       }
     }
     /// <summary>
     ///
     /// </summary>
     public bool DiscontinueD
     {
       get{ return _Discontinued; }
       set
       {
         this.OnPropertyValueChange(_.Discontinued,_Discontinued,value);
         this._Discontinued=value;
       }
     }
     #endregion 
     #region MethoD
     /// <summary>
     /// 获取实体中的标识列 
     /// </summary>
     public override Field GetIdentityField()
     {
       return _.ProductID;
     }
     /// <summary>
     /// 获取实体中的主键列 
     /// </summary>
     public override Field[] GetPrimaryKeyFields()
     {
       return new Field[] {
         _.ProductID};
     }
     /// <summary>
     /// 获取列信息 
     /// </summary>
     public override Field[] GetFields()
     {
       return new Field[] {
         _.ProductID,
         _.ProductName,
         _.SupplierID,
         _.CategoryID,
         _.QuantityPerUnit,
         _.UnitPrice,
         _.UnitsInStock,
         _.UnitsOnOrder,
         _.ReorderLevel,
         _.Discontinued};
     }
     /// <summary>
     /// 获取值信息 
     /// </summary>
     public override object[] GetValues()
     {
       return new object[] {
         this._ProductID,
         this._ProductName,
         this._SupplierID,
         this._CategoryID,
         this._QuantityPerUnit,
         this._UnitPrice,
         this._UnitsInStock,
         this._UnitsOnOrder,
         this._ReorderLevel,
         this._Discontinued};
     }
     /// <summary>
     /// 给当前实体赋值 
     /// </summary>
     public override void SetPropertyValues(IDataReader reader)
     {
       this._ProductID = DataUtils.ConvertValue<int>(reader["ProductID"]);
       this._ProductName = DataUtils.ConvertValue<string>(reader["ProductName"]);
       this._SupplierID = DataUtils.ConvertValue<int?>(reader["SupplierID"]);
       this._CategoryID = DataUtils.ConvertValue<int?>(reader["CategoryID"]);
       this._QuantityPerUnit = DataUtils.ConvertValue<string>(reader["QuantityPerUnit"]);
       this._UnitPrice = DataUtils.ConvertValue<decimal?>(reader["UnitPrice"]);
       this._UnitsInStock = DataUtils.ConvertValue<int?>(reader["UnitsInStock"]);
       this._UnitsOnOrder = DataUtils.ConvertValue<int?>(reader["UnitsOnOrder"]);
       this._ReorderLevel = DataUtils.ConvertValue<int?>(reader["ReorderLevel"]);
       this._Discontinued = DataUtils.ConvertValue<bool>(reader["Discontinued"]);
     }
     /// <summary>
     /// 给当前实体赋值 
     /// </summary>
     public override void SetPropertyValues(DataRow row)
     {
       this._ProductID = DataUtils.ConvertValue<int>(row["ProductID"]);
       this._ProductName = DataUtils.ConvertValue<string>(row["ProductName"]);
       this._SupplierID = DataUtils.ConvertValue<int?>(row["SupplierID"]);
       this._CategoryID = DataUtils.ConvertValue<int?>(row["CategoryID"]);
       this._QuantityPerUnit = DataUtils.ConvertValue<string>(row["QuantityPerUnit"]);
       this._UnitPrice = DataUtils.ConvertValue<decimal?>(row["UnitPrice"]);
       this._UnitsInStock = DataUtils.ConvertValue<int?>(row["UnitsInStock"]);
       this._UnitsOnOrder = DataUtils.ConvertValue<int?>(row["UnitsOnOrder"]);
       this._ReorderLevel = DataUtils.ConvertValue<int?>(row["ReorderLevel"]);
       this._Discontinued = DataUtils.ConvertValue<bool>(row["Discontinued"]);
     }
     #endregion 
     #region _FielD
     /// <summary>
     /// 字段信息 
     /// </summary>
     public class _
     {
       public readonly static Field All = new Field("*","Products");
       public readonly static Field ProductID = new Field("ProductID","Products","ProductID");
       public readonly static Field ProductName = new Field("ProductName","Products","ProductName");
       public readonly static Field SupplierID = new Field("SupplierID","Products","SupplierID");
       public readonly static Field CategoryID = new Field("CategoryID","Products","CategoryID");
       public readonly static Field QuantityPerUnit = new Field ("QuantityPerUnit","Products","QuantityPerUnit");
       public readonly static Field UnitPrice = new Field("UnitPrice","Products","UnitPrice");
       public readonly static Field UnitsInStock = new Field("UnitsInStock","Products","UnitsInStock");
       public readonly static Field UnitsOnOrder = new Field("UnitsOnOrder","Products","UnitsOnOrder");
       public readonly static Field ReorderLevel = new Field("ReorderLevel","Products","ReorderLevel");
       public readonly static Field Discontinued = new Field("Discontinued","Products","Discontinued");
     }
     #endregion 
   }
}