逻辑三层ORM通用类库 ThreeLayerLib.dll v1.0

作者:wxl

 本类库的目标用户是使用C#开发基于数据库的.NET程序的开发者,旨在简化对常用数据库的CRUD操作,同时提供了一种简化的ORM机制,使基于本类库开发的程序具有更好的可扩展性和可维护性。

 本类库默认SQLServer数据库,但并不受数据库类型的限制,开发者可以使用任何自己需要的关系数据库,如 SQLServer、Access、MySQL等。
 使用方法:
 目前版本需用户自己定义数据库表格的相应实体类,下一版本中作者将实现自动化。实体类应具有【TableAttribute】特性,以标识数据库表名。默认SQLServer数据库,如果用户需要扩展其他类型数据库,则需要自己做一个类库项目,且包含如下两个类:
 1、能够实现IDAL的类
 2、能够实现IDbHelper的类

 举例:

 
  1. [TableAttribute("t_Email")]  
  2. public class Model_t_Email  
  3. {  
  4.  protected int _Email_ID;  
  5.  
  6.  public int Email_ID  
  7.  {  
  8.   get { return _Email_ID; }  
  9.   set { _Email_ID = value;}  
  10.  }  
  11.  protected string _Email_Title;  
  12.  
  13.  public string Email_Title  
  14.  {  
  15.  get { return _Email_Title; }  
  16.  set { _Email_Title = value; }  
  17.  }  
  18.  protected string _Email_SendTo;  
  19.  
  20.  public string Email_SendTo  
  21.  {  
  22.   get { return _Email_SendTo; }  
  23.   set { _Email_SendTo = value; }  
  24.  }  
  25.  protected string _Email_From;  
  26.  
  27.  public string Email_From  
  28.  {  
  29.   get { return _Email_From; }  
  30.   set { _Email_From = value; }  
  31.  }  
  32.  protected string _Email_Content;  
  33.  
  34.  public string Email_Content  
  35.  {  
  36.   get { return _Email_Content; }  
  37.   set { _Email_Content = value; }  
  38.  }  
  39.  protected string _Email_Attatchment;  
  40.  
  41.  public string Email_Attatchment  
  42.  {  
  43.   get { return _Email_Attatchment; }  
  44.   set { _Email_Attatchment = value; }  
  45.  }  
  46.  protected string _Email_Time;  
  47.  
  48.  public string Email_Time  
  49.  {  
  50.   get { return _Email_Time; }  
  51.   set { _Email_Time = value; }  
  52.  }  
  53.  protected string _Email_IsReadAlready;  
  54.  
  55.  public string Email_IsReadAlready  
  56.  {  
  57.   get { return _Email_IsReadAlready; }  
  58.   set { _Email_IsReadAlready = value; }  
  59.  }  
  60.  
  61. }  
  62.  
  63.  
  64. private string constr = "server=192.168.143.18;database=D16;uid=sa;pwd=123456";  
  65. BLL<Model_t_Email> bll = new BLL<Model_t_Email>(constr);  
  66.  
  67. //如果要使用其他非SQLServer数据库,请用户自己做一个类库,假设叫AccessHelper.dll,且包含如下两个类:  
  68. //1、能够实现IDAL的类  
  69. //2、能够实现IDbHelper的类  
  70. //BLL<Model_t_Email> bll = new BLL<Model_t_Email>(constr, Application.StartupPath + @"\AccessHelper.dll");  
  71.  
  72. Model_t_Email model = new Model_t_Email();  
  73. model.Email_ID = bll.GetMaxID() + 1;  
  74. model.Email_Title = "Fu";  
  75. bll.Add(model);  
  76. List<Model_t_Email> list = bll.GetListModel();