• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#在数据层过滤属性中的主键

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

C#使用泛型+反射做为数据层时,一个很都头疼的问题,如何让C#属性在程序里识别出哪个属性是主键,在拼接SQL时,不能把主键拼接到SQL语句里。

这个需要自定义一个属性。新建一个类文件,命名为ProsperTest.cs

1     public class Property : System.Attribute
2     {
3         public string Value { get; set; }
4 
5         public Property(string Value)
6         {
7             this.Value = Value;
8         }
9     }

在MODEL层新建一个跟表对应的属性AssetPurchase.cs类

1         [Property("PrimaryKey")]
2         public long APId
3         {
4             set{ _apid=value;}
5             get{return _apid;}
6         }        

 

在数据层代码中编写拼接SQL字符串代码

 1        foreach (PropertyInfo p in pros)
 2          {
 3                  //获取自定义属性
 4                 object[] objArray = p.GetCustomAttributes(false);
 5                 //判断是否已获取到自定义属性Property,如果已获取objArray.length>0,在此处用来过滤主键,
            拼接字符串不要把主键拼接进去在Id旁边添加属性名称“PrimaryKey”
6 if (objArray.Length <= 0) 7 { 8 strSql.Append(p.Name); 9 if (i < pros.Length - 1) 10 strSql.Append(","); 11 i++; 12 } 13 14 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Ajax与C#应用详细实例发布时间:2022-07-10
下一篇:
C#中if和#if的区别发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap