这是数据库开发中经常遇到的问题,当然,这可以用现成的ORM框架来解决,但有些时候,如果DataSet/DataTable是第三方接口返回的,ORM就不方便了,还得自己处理。

反射自然必不可少的,另外考虑到DataTable中的ColumnName通常与Model的PropertyName并不严格对应,可以用Attribute来记录这种映射关系。

步骤1:先创建一个DataFieldAttribute类

 1 using System;
 2 
 3 namespace Jimmy.ORM
 4 {
 5     [AttributeUsage(AttributeTargets.Property)]
 6     public sealed class DataFieldAttribute:Attribute
 7     {
 8         /// <summary>
 9         /// 表对应的字段名
10         /// </summary>
11         public string ColumnName { set; get; }
12 
13         public DataFieldAttribute(string columnName)
14         {
15             ColumnName = columnName;
16         }
17     }
18 }
View Code

相关文章: