随笔分类 - C# 数据操作系列
1
这个系列是C#基础系列的续集,讲解C#如何操作数据库,与数据交互
摘要:0. 前言 前几天FreeSql的作者向我推荐了FreeSql框架,想让我帮忙写个文章介绍一下。嗯,想不到我也能带个货了。哈哈,开个玩笑~看了下觉得设计的挺有意思的,所以就谢了这篇文章。 简单介绍一下,FreeSql 是NCC组织的沙盒级项目,是一款功能强大的 ORM 组件,支持 .NET Core
阅读全文
摘要:0. 前言 在前一篇中我们讲到了Dapper的应用,但是给我们的感觉Dapper不像个ORM更像一个IDbConnection的扩展。是的,没错。在实际开发中我们经常用Dapper作为对EF Core的补充。当然了Dapper并不仅仅只有这些,就让我们通过这一篇文章去让Dapper更像一个ORM吧。
阅读全文
摘要:0. 前言 之前四篇介绍了一个国内开发者开发的优秀框架SqlSugar,给我们眼前一亮的感觉。这一篇,我们将试试另一个出镜率比较高的ORM框架-Dapper。 Dapper是一个轻量级的ORM框架,其以高速、简单易用为特点。在某些时候,效率甚至可以与ADO.NET 媲美。那么,吹得天花乱坠,就让我们
阅读全文
摘要:0. 前言 前一篇我们详细的介绍了SqlSugar的增删改查,那些已经满足我们在日常工程开发中的使用了。但是还有一点点在开发中并不常用,但是却非常有用的方法。接下来让我们一起来看看还有哪些有意思的内容。 1. 不同寻常的查询 之前介绍了针对单个表的查询,同样也是相对简单的查询模式。虽然开发完全够用,
阅读全文
摘要:0. 前言 继上一篇,以及上上篇,我们对SqlSugar有了一个大概的认识,但是这并不完美,因为那些都是理论知识,无法描述我们工程开发中实际情况。而这一篇,将带领小伙伴们一起试着写一个能在工程中使用的模板类。 1. 创建一个Client SqlSugar在操作的时候需要一个Client,用来管理数据
阅读全文
摘要:0.前言 在上一篇中,我们知道了如何使用SqlSugar,但是也只是简单的了解了如何使用,仿佛是套着镣铐行走,这明显不符合一个合格的程序员应有的素养。所以,这一篇我们将对其进行深挖,探究其背后的秘密。 1. 花式映射 在实际开发中,程序中的实体类和数据库的表名并不能完全一致,造成的原因有很多,例如说
阅读全文
摘要:0. 前言 前言,暂时挥别NHibernate(虽然我突然发现这玩意还挺有意思的,不过看得人不多)。大步进入了有很多小伙伴向我安利的SQLSugar,嗯,我一直叫SugarSQL,好像是这个吧? 这是一个由国内开发者开发的ORM框架,是一个轻量级框架(最新版的sqlSugarCore大概只有290k
阅读全文
摘要:0. 前言 上一篇《C# 数据操作系列 - 11 NHibernate 配置和结构介绍》 介绍了Nhibernate里的配置内容。这一篇将带领大家了解一下如何使用NHIbernate。之前提到NHibernate继承了Hibernate的一些传统:使用XML文件进行配置,这一点也是备受争议。不过,有
阅读全文
摘要:0. 前言 今天是NHibernate的第二篇内容,通过上一篇的内容,我们初步了解了NHibernate的创建和使用。这一篇,我继续探索NHibernate背后的秘密。嗯,就是这样。 1. NHibernate结构 先给小伙伴们放个图: 这是NHibernate的整体结构图。NHibernate通过
阅读全文
摘要:0. 前言 在上一篇基本讲完了EF Core的入门级教程。从这一篇开始,我们试着去探索一下 .net core平台上更多的ORM框架。那么,这一篇开始我们就来试试NHibernate。 1. NHibernate 介绍 NHibernate是Hibernate的C#版,众所周知Hibernate是J
阅读全文
摘要:0.前言 《EF Core》实际上已经可以告一段落了,但是感觉还有一点点意犹未尽。所以决定分享一下,个人在实际开发中使用EF Core的一些经验和使用的扩展包。 1. EF Core的异步操作 正如这小节题目所言,EF Core是支持异步操作的,但实际可用集中在SaveChanges和异步查询这两个
阅读全文
摘要:0.前言 到目前为止,我们看了一下如何声明EF Core的初步使用,也整体的看了下EF Core的映射关系配置以及导航属性的配置。 这一篇,我带大家分享一下,我在工作中需要的EF Core的用法。 1. 初始化 在实际开发中,一般都是先设计好数据表再进行开发,所以很少用到EF Core的数据迁移功能
阅读全文
摘要:在上一篇,大概介绍了Entity Framework Core关于关系映射的逻辑。在上一篇中留下了EF的外键映射没有说,也就是一对一,一对多,多对一,多对多的关系等。这一篇将为大家细细分析一下,如何设置这些映射。 1. 实体之间的关系 从数据表来考虑,两个表之前的关系有一对一,一对多(多对一)和多对
阅读全文
摘要:0. 前言 在《C 数据操作系列 5. EF Core 入门》篇中,我们简单的通过两个类演示了一下EF增删改查等功能。细心的小伙伴可能看了生成的DDL SQL 语句,在里面发现了些端倪。没看的小伙伴也不急,这就贴出来。 DDL SQL: 1. 映射规则 通过简单的示例,我们可以看到EF的映射规则是什
阅读全文
摘要:0.前言 上一章简单介绍了一下ORM框架,并手写了一个类似ORM的工具类。这一章将介绍一个在C 世界里大名鼎鼎的ORM框架——Entity Framework的Core版。 Entity Framework 非Core版目前已经更新到了6代,这是一款经过检验的ORM框架。在这里简单介绍一下Entit
阅读全文
摘要:0. 前言 在之前的几篇内容中,我们了解了如何通过ADO.NET 访问数据库,如何修改、新增数据。如何通过DataSet和DataAdapter获取数据,我们将在这一篇试试自己实现一个简单的ORM框架或者说ORM工具类。 涉及到的知识点: 反射(初级) ADO.NET 已有知识 1. ORM 那么,
阅读全文
摘要:0. 前言 在上一篇中,我故意留下了查询的示范没讲。虽然说可以通过以下代码获取一个DataReader: 然后通过reader一行一行的读取数据,但是我并不推荐这样使用。 在查询这一高频需求上,C 为之做了很多工作,提供了更多的选择。这里介绍一个查询的另一套写法。 1. 离线查询 C 在查询上提供了
阅读全文
摘要:0.前言 在上一篇中初略的介绍了一下SQL的基本写法,这一篇开始我们正式步入C 操作数据库的范围。通过这一系列的内容,我想大家能对于数据库交互有了一定的认识和基础。闲话不多说,先给大家介绍一个C 操作数据库的方式。 1. ADO.NET的介绍 在ADO.NET出现之前,C 连接数据库有很多种方式,各
阅读全文
摘要:0.前言 前篇介绍了一些数据库的基本概念和以及一些常见的数据库,让我们对数据库有了一个初步的认识。这一篇我们将继续为C 数据操作的基础填上一个空白 SQL语句。 SQL(Structured Query Language,结构化查询语言)是一种特定的编程语言,用于管理数据库系统,操作数据甚至编写一些
阅读全文
摘要:0. 前言 在上一个系列中,我们初步浏览了一下C 的基础知识。这句话的意思就是C 基础知识系列完结了,撒花。当然,并不是因为C 已经讲完了。正是因为我们轻轻地叩开了那扇门,才能看到门后面那瑰丽的世界。那么,门后面有什么?就让我在后续的篇幅里,带着大家一起浏览吧。 0.1 C 能做什么 之前在开发工具
阅读全文
1