博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用实体框架、Dapper和Chain的仓储模式实现策略
阅读量:7260 次
发布时间:2019-06-29

本文共 803 字,大约阅读时间需要 2 分钟。

\

关键要点:

\
  • Dapper这类微ORM(Micro-ORM)虽然提供了最好的性能,但也需要去做最多的工作。\
  • 在无需复杂对象图时,Chain这类Fluent ORM更易于使用。\
  • 对实体框架(Entity Framework)做大量的工作后,其性能可显著提高。\
  • 为获得数据库的最大性能,需要采用可能会有些繁琐的投影(Projection)操作。\
  • ORM整体上的局部更新可能会存在问题。
\

在现代企业开发中,可采用多种方法构建数据存取层(data access layer ,DAL)。使用C#做开发时,DAL的最底层几乎总是使用ADO.NET。但这时常会形成一个笨重的库,所以通常会在DAL的底层之上再部署一个ORM层。为允许模拟和隐藏ORM的细节,整个DAL包装在存储内。\

在这一系列的文章中,我们将审视三种使用不同类型ORM构建仓储模式的方法,分别是:\

  • :一种传统的“全特性”或“OOP”类型的ORM。 \
  • :一种主要专注结果集映射的轻量级微ORM。 \
  • :一种基于函数式编程理念的Fluent ORM。

本文将侧重于开发人员可在典型仓储中用到的那些基本功能。在本系列文章的第二部分,我们将着眼于那些开发人员基于实际情况而实现的高级技术。\

插入(Insert)操作

\

对于任何CRUD操作集,通常会首先实现基本的插入操作,进而可用插入操作对其它的操作进行测试。\

Chain

\

Chain使用列名和属性名间的运行时匹配。对于在数据库中并不存在的对象,除非启用了严格模式(strict model),否则将忽略该对象上的属性。类似地,没有匹配属性的列不能成为生成SQL的组成部分。

public int Insert(Employee employee)\        {\            return m_DataSource.Insert(\"HR.Employee\

转载地址:http://jlkdm.baihongyu.com/

你可能感兴趣的文章
Http 面试知识点
查看>>
Spring4+SpringMVC+MyBatis整合思路
查看>>
聊聊技术路线的选择
查看>>
Activiti6.0 java项目框架 spring5 SSM 工作流引擎 审批流程
查看>>
信息收集工具exiftool获取图片中的exif信息
查看>>
Android 依赖注入可以更简单 —— 新版本 Dagger 2 使用教学
查看>>
Kotlin 标准库中run、let、also、apply、with函数的用法和区别
查看>>
MIT课程笔记①丨因果关系定义及潜在结果分析框架
查看>>
简单算法题:leetcode-2 两数相加
查看>>
小猿圈讲解Java可以做什么?
查看>>
代理加盟哪家小程序开发公司好
查看>>
VUE Cookbook 系列:实现可配置组合表单
查看>>
从jQuery 入口方式写jQuery工具类库
查看>>
在iview项目中添加echarts3
查看>>
Dart基础语法
查看>>
chrome 插件开发心得
查看>>
把HTML转成PDF的4个方案及实现方法
查看>>
小程序自动化测试--测试3
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务 (四) 断路器(Hystrix)
查看>>
java B2B2C Springboot电子商务平台源码-Feign设计原理
查看>>