zoukankan      html  css  js  c++  java
  • 巧用泛型,让所有的数据表操作类都具有增,删,改(LinQ)

    本人第一篇文章,个人主要用的是Asp.net Mvc框架 + LinQ来开发的。

    下面的内容涉及到LinQ的知识和泛型,如果没有了解过的话,请先在博客园搜索一下相关资料,本人在这里就不多介绍了。

     假设数据库中有张表为User表。(以下为Demo)

    建一个LinQ to SQL类,名为TestData.dbml,然后将数据表User拖拉进去。(具体步骤省略)

    添加一新类,名为TableModel,内容为空。展开TestData.dbml,打开TestData.designer.cs文件,在类Uesr中添加继承TableModel。(为什么要这样做,稍后解释)
    还要为User类中的每的字段添加UpdateCheck = UpdateCheck.Never这句,否则会更新失败的。

    添加一新接口,名为IBaseRepository,作用为所有数据表操作类的接口的接口。代码如下:

    Code

     where T:TableModel,可能有些人不知道是什么意思来的。。。限定泛型T为TableModel类,因为使用LinQ的泛型的话,泛型必须为引用型,所有为什么前面的User类要继承TableModel。

    添加一新类,继承IBaseRepository接口,实现三个方法,如下:

    Code

    代码是什么意思,了解过linQ的都知道了,就不解释了。

    新建接口名为IUserRepository,对User操作的,实现 IBaseRepository<User>

    新建实现类为UserRepository,实现 BaseRepository<User>,IUserRepository

    调用为:

    IUserRepository userRe = new UserRepository();

    这样就可以实现所有的数据表操作类都具有增,删,改都功能了,只要实现上面的接口和类就可以了。。。

    本人对设计不太熟悉,错误请大家多多指教。。。

  • 相关阅读:
    day77 vue对象提供的属性功能
    day76 作业
    day76 vue框架入门
    day75 bbs项目☞后台管理+修改头像
    day74 bbs项目☞点赞与评论
    day73 bbs项目☞基本功能实现
    day72 bbs项目☞登录注册
    练习题00
    雇1个人工作7天,你有1根金条可以分成7份,只能切2刀,如何保证每天都得到1份金条
    Python正课143 —— DRF 进阶4 权限、频率、过滤、排序
  • 原文地址:https://www.cnblogs.com/floyd/p/1410274.html
Copyright © 2011-2022 走看看