有人说“越懒”的程序员进步的越快!其实还挺有道理。亲身体验,从刚出来工作到现在,自己变“懒”了许多,但感觉写出来的代码确有了不少提升。刚开始啊,同样的代码,赋值粘贴,可以说又丑又长,现在看来,不忍直视啊!变懒以后,就想着如何在同样能实现功能和需求的情况下让自己少出力,少写代码呢?渐渐的,开始学习如何利用c#关键字啊,特殊类型啊,封装公用方法,公用类等。好了废话不多说了,上星期刚好有个实习生问我关于ef的问题,就简单的写了个案例,利用泛型集合封装一个简单的“读取操作器”。

上图是创建ef项目后,系统自带的DBContext。这个就不多说了。可以说是数据交互的关键环节。简单的ef想读取某个表的数据啥的,都通过DBContext来实现。

现在我们来建个泛型类,来写属于自己的Context,让我们的Context可以接收任何传过来的数据库实体类型,都能够自己自动帮我们检索或者操作对应的数据库数据。

写好,测试下,看看可行。

这个上面在实例的时候,定义自己想操作的实体模型。然后根据实际需求调用相关的操作(无非增删改)。我们的泛型Context就自动知道你要操作哪个数据库表啦!!!就这么简单,就这么easy。当然啦,这只是简单的ef读取,如果复杂点,可以自己配配映射啊,主外建关系啊,有兴趣的朋友可以了解下,可以让自己的读取器更加健壮!

活到老,学到老!

转载于:https://www.cnblogs.com/zuozongyao/p/6078302.html

c#利用泛型集合,为自己偷偷懒。相关推荐

  1. 【机房收费个人版】DataTable 与泛型集合的较量

    将近三周的时间,我学到了很多知识,让我受益匪浅!也通过这三周的积累和整理,现在是时候写博客分享我的所知所得了..下面主要写DataTable.泛型集合以及它们之间的比较.. DataTable     ...

  2. List泛型集合总结(一)

    为什么要用泛型集合? 在C# 2.0之前,主要可以通过两种方式实现集合: a.使用ArrayList 直接将对象放入ArrayList,操作直观,但由于集合中的项是Object类型,因此每次使用都必须 ...

  3. java 泛型集合应用_Java泛型集合的应用和方法

    展开全部 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以62616964757a686964616fe78988e69d8331333 ...

  4. C#中的集合、哈希表、泛型集合、字典

    集合ArrayList 集合:集合可以看做是数组,可以将其看成"长度可变,具有很多方法的数组".使用ArrayList,首先需要导入命名空间using.system.collect ...

  5. [工具类]DataTable与泛型集合List互转

    写在前面 工作中经常遇到datatable与list,对于datatable而言操作起来不太方便.所以有的时候还是非常希望通过泛型集合来进行操作的.所以这里就封装了一个扩展类.也方便使用. 类 方法中 ...

  6. Java_泛型集合的定义及使用

    泛型集合的定义及使用 引入 什么是泛型.为什么要引入泛型.泛型类和泛型方法的使用 实例泛型: ​ 创建对象时,为类所定义的泛型,进行参数化赋值. 类:创建对象时,为类所定义的泛型,进行参数化赋值 接口 ...

  7. 对比两个同类型的泛型集合并返回差异泛型集合 ——两个List类名的比较

    1: /// <summary> 2: /// 对比两个同类型的泛型集合并返回差异泛型集合 3: /// </summary> 4: /// <typeparam nam ...

  8. C#读取数据库返回泛型集合 把DataSet类型转换为ListT泛型集合

    /// <summary>/// 获取UserInfo泛型集合/// </summary>/// <param name="connStr">数 ...

  9. c#3.0加入的一些新特性——泛型集合

    c#3.0加入的一些新特性 1.泛型集合 2.隐式类型 3.自动实现属性 3.匿名方法 4.扩展方法 5.Lambda表达式 1.泛型集合 在.NET2.0中没有泛型集合定义集合用ArrayList定 ...

最新文章

  1. 配置隧道模式的IPSec.×××
  2. Normalization笔记
  3. Quartz教程三:Job与JobDetail介绍
  4. Linux0.00 代码解析(二)
  5. 一款实用的前端截图工具
  6. 5.5的performance_schema
  7. Vue 项目调试总结
  8. 正式版的Office2007打不开beta版创建的文件
  9. 剪映专业版mac版本要求 剪映mac版最新版更新
  10. 基于SSM的企业人事管理系统
  11. 百度地图聚合找房开发
  12. 别了,AlphaGo之魂——黄士杰
  13. the win16 subsystem was unable to enter protected mode,DOSX.EXE must be in your AUTOEXEC.NT and pres
  14. excel美化技巧-持续更新
  15. xp系统升级Win7系统需要什么条件
  16. 德丰杰全球创始人兼董事长Tim Draper让人吃惊的投资
  17. HTML+CSS D08浮动
  18. 二分查找(序列是顺序的运用递归)
  19. Vue百度地图标注点定位显示
  20. 获取CPU每个核心的IDT信息

热门文章

  1. mysql建表语句转oracle_MYSQL事务他快你慢,都是你自己惹的祸
  2. 将两个文件的路径作为参数传递给脚本_将Docker与pipeline一起使用
  3. 机器学习算法与Python实践之逻辑回归(Logistic Regression)
  4. VB.NET 读写HTML 文件,VB.NET 简单介绍文件的读写----流类
  5. ant design vue table 高度自适应_Vue.JS 实现拼拼乐小游戏项目
  6. Leetcode-233-数字1的个数
  7. 系统学习机器学习之神经网络(一)--MLP及局部模型,RBF综述
  8. 远程连接hive报错
  9. Windows核心编程_添加开机自启动
  10. Windows 上安装 Scala