用C#实现通用的DAL Insert

这篇博客介绍如何利用C#实现一个通用的数据访问层(DAL)来简化数据库插入操作。作者通过定义实体类、自定义属性以及泛型方法,创建了一个可以自动根据对象属性生成SQL插入语句的SqlHelper类,避免了手动编写存储过程和SQL语句。博客展示了具体的代码实现,并通过示例展示了如何在程序中调用这个通用插入方法。
摘要由CSDN通过智能技术生成

写了几年的三层架,突发奇想,如果能写一套通用的Insert,Update 语句,不用每次都写存储过程,SQL,那是不是少了很多工作量。然后就试着写了个

首先定义一个实体类

 public class Industry
    {
        private int id;
        [AllTargetsAttribute(IsKey = true)]
        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        private string name;


        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private int? pid;


        public int? Pid
        {
            get { return pid; }
            set { pid = value; }
        }
    }

AllTargetsAttribute是我自定义的一个标记,目的是为了标记实体映射表的主键列,true表示这个字段为主键 AllTargetsAttribute代码如下

 // 该Attribute对所有的元素有效.
    [AttributeUsage(AttributeTargets.All)]
    public class AllTargetsAttribute : Attribute
    {
        private bool isKey = false;
        public bool IsKey
        {
            get { return isKey; }
            set { isKey = value; }
        }
    } 

开始写DAL方法,首先我定义一个DbHelper抽象类,为了可扩展

  public abstract class DbHelper
    {
        public abstract int AddModel<T>(T t);
    }

定义了一个泛型的抽象添加方法AddMod

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值