0. 前言 之前四篇介绍了一个国内开发者开发的优秀框架SqlSugar,给我们眼前一亮的感觉.这一篇,我们将试试另一个出镜率比较高的ORM框架-Dapper. Dapper是一个轻量级的ORM框架,其以高速.简单易用为特点.在某些时候,效率甚至可以与ADO.NET 媲美.那么,吹得天花乱坠,就让我们实际看看它的表现吧. 1. 开始使用 照例,先创建一个项目:DapperDemo dotnet new console --name DapperDemo 然后切换到目录里: cd DapperDem…
0.前言 到目前为止,我们看了一下如何声明EF Core的初步使用,也整体的看了下EF Core的映射关系配置以及导航属性的配置. 这一篇,我带大家分享一下,我在工作中需要的EF Core的用法. 1. 初始化 在实际开发中,一般都是先设计好数据表再进行开发,所以很少用到EF Core的数据迁移功能.所以EF Core的初始化,一般也指的是EF Core上下文初始化. 1.1 连接字符串 我们通过前面的文章知道,EF Core在上下文初始化的时候,都需要一个链接字符串.如果在不考虑后续变更或者上…
0. 前言 前一篇我们详细的介绍了SqlSugar的增删改查,那些已经满足我们在日常工程开发中的使用了.但是还有一点点在开发中并不常用,但是却非常有用的方法.接下来让我们一起来看看还有哪些有意思的内容. 1. 不同寻常的查询 之前介绍了针对单个表的查询,同样也是相对简单的查询模式.虽然开发完全够用,但是难免会遇到一些特殊的情况.而下面这些方法就是为了解决这些意料之外. 1.1 多表查询 SqlSugar提供了一种特殊的多表查询方案,使用IQueryable接口 .来看看是怎样操作的吧: ISug…
0. 前言 前几天FreeSql的作者向我推荐了FreeSql框架,想让我帮忙写个文章介绍一下.嗯,想不到我也能带个货了.哈哈,开个玩笑-看了下觉得设计的挺有意思的,所以就谢了这篇文章. 简单介绍一下,FreeSql 是NCC组织的沙盒级项目,是一款功能强大的 ORM 组件,支持 .NET Core..NET Framework 和 Xamarin.目前 FreeSql 支持以下数据库:MySQL.PostgreSQL.SqlServer.Oracle.Sqlite.Odbc.微软 Access…
0. 前言 在<C# 数据操作系列 - 5. EF Core 入门>篇中,我们简单的通过两个类演示了一下EF增删改查等功能.细心的小伙伴可能看了生成的DDL SQL 语句,在里面发现了些端倪.没看的小伙伴也不急,这就贴出来. public class ModelA { public int Id { get; set; } public string Name { get; set; } public List<ModelB> ModelBs { get; } = new List…
0. 前言 上一篇<C# 数据操作系列 - 11 NHibernate 配置和结构介绍> 介绍了Nhibernate里的配置内容.这一篇将带领大家了解一下如何使用NHIbernate.之前提到NHibernate继承了Hibernate的一些传统:使用XML文件进行配置,这一点也是备受争议.不过,有社区爱好者开发了一个名为<Fluent NHibernate>的项目,用来支持NHibernate的流式配置.当然,NHibernate本身也提供了NHibernate.Mapping.…
0. 前言 继上一篇,以及上上篇,我们对SqlSugar有了一个大概的认识,但是这并不完美,因为那些都是理论知识,无法描述我们工程开发中实际情况.而这一篇,将带领小伙伴们一起试着写一个能在工程中使用的模板类. 1. 创建一个Client SqlSugar在操作的时候需要一个Client,用来管理数据库连接,并操作数据库.所以我们写一个DbContext用来创建Client: public class DefaultContext { public SqlSugarClient Client {…
0. 前言 在前一篇中我们讲到了Dapper的应用,但是给我们的感觉Dapper不像个ORM更像一个IDbConnection的扩展.是的,没错.在实际开发中我们经常用Dapper作为对EF Core的补充.当然了Dapper并不仅仅只有这些,就让我们通过这一篇文章去让Dapper更像一个ORM吧. 1. Dapper Contrib Dapper Contrib 扩展了Dapper对于实体类的CRUD方法: 安装方法: 命令行: dotnet add package Dapper.Contri…
0. 前言 在上一个系列中,我们初步浏览了一下C#的基础知识.这句话的意思就是C#基础知识系列完结了,撒花.当然,并不是因为C#已经讲完了.正是因为我们轻轻地叩开了那扇门,才能看到门后面那瑰丽的世界.那么,门后面有什么?就让我在后续的篇幅里,带着大家一起浏览吧. 0.1 C# 能做什么 之前在开发工具篇大概为大家介绍了.net 分的方向,.net framework,.net core,mono,UWP 这四个.严格讲这不是技术区分的方向,而是基于SDK的区分. 说起能完成的功能,接下来给大家看…
0.前言 前篇介绍了一些数据库的基本概念和以及一些常见的数据库,让我们对数据库有了一个初步的认识.这一篇我们将继续为C#数据操作的基础填上一个空白-SQL语句. SQL(Structured Query Language,结构化查询语言)是一种特定的编程语言,用于管理数据库系统,操作数据甚至编写一些程序. 当然,一方面因为时间问题,一方面因为各大数据库的区别(当然了,还有就是个人对SQL研究并不是那么深)所以这一篇就从SQL的基本操作入手,带领大家一起看看SQL的世界. 1. SQL的分类 在S…