自定义属性:
自定义属性
1using System; 2using System.ComponentModel; 3 4namespace Relaction.ORM 5{ 6 /**//// <summary> 7 /// 8 /// </summary> 9 /// 10 [AttributeUsage(AttributeTargets.Property,Inherited = false,AllowMultiple = false)]11 public class ColumnAttribute:Attribute12 {13 private string _columnName = null;14 public string ColumnName15 {16 get17 {18 return _columnName;19 }20 }2122 public ColumnAttribute(string columnName)23 {24 _columnName = columnName;25 }26 }27}28
实体类:
实体类,并添加上相应属性
1using System; 2 3namespace Relaction.ORM 4{ 5 /**//// <summary> 6 /// 7 /// </summary> 8 public class Customer 9 {10 private string _customerID,_companyName,_contactName;11 [Column("CustomerID")]12 public string CustomerID13 {14 get15 {16 return _customerID;17 }18 set19 {20 _customerID = value;21 }2223 }24 [Column("CompanyName")]25 public string CompanyName26 {27 get28 {29 return _companyName;30 }31 set32 {33 _companyName = value;34 }35 }36 [Column("ContactName")]37 public string ContactName38 {39 get40 {41 return _contactName;42 }43 set44 {45 _contactName = value;46 }47 }48 public Customer()49 {50 }51 }52}53
简单的ORM Helper
ORM Helper
1using System; 2 3using System.Collections; 4using System.ComponentModel; 5using System.Reflection; 6using System.Data; 7using System.Data.Common; 8 9namespace Relaction.ORM10{11 /**//// <summary>12 /// 13 /// </summary>14 public class FillHelper15 {16 public static IList Fill(Type rowType,IDataReader reader)17 {18 ArrayList dataList = new ArrayList();19 while(reader.Read())20 {21 object item = Activator.CreateInstance(rowType,false);22 foreach(MemberInfo mi in rowType.GetMembers())23 {24 foreach(ColumnAttribute attr in mi.GetCustomAttributes(typeof(ColumnAttribute),false))25 {26 int index = reader.GetOrdinal(attr.ColumnName);27 if(index != -1 )28 {29 if(mi.MemberType == MemberTypes.Field)30 ((FieldInfo)mi).SetValue(item,reader.GetValue(index));31 else32 if(mi.MemberType == MemberTypes.Property)33 ((PropertyInfo)mi).SetValue(item,reader.GetValue(index),null);34 }35 }36 } 37 dataList.Add(item);38 }39 return dataList;40 }41 public FillHelper()42 {43 }44 }45}46
转载于:https://www.cnblogs.com/nanshouyong326/archive/2006/11/28/574842.html
相关资源:EzeOrm纯手撸的一套简易javaorm框架。暂只支持mysql。