C# .NET ADO.NET介绍和如何使用

文章目录

  • 环境配置
  • ADO.NET简介
    • ADO.NET是什么
      • 面向过程和面向对象
      • 什么是ORM
    • ADO.NET用于解决什么问题
      • 优化开发效率
      • 对已存在的数据库,设计多个程序
      • 对开发中的程序,动态设计数据库,同步更新
  • ADO.NET如何使用,以sql server为例
    • ADO.NET如何创建
    • ADO.NET如何增删改查
    • ADO.NET同步数据库更新
    • ADO.NET如何扩展到其它数据库

环境配置

  • .NET Framework 4.7.2
  • Visual Studio 2022
  • Sql server 2008

新建项目

在这里插入图片描述

ADO.NET简介

ADO.NET是什么

我们看一下visual studio 里面ADO.NET文件

C# .NET ADO.NET介绍和如何使用_第1张图片

ADO.NET是实体数据模型,是ORM对象文件。ORM,即Object-Relational Mapping(对象关系映射)。

ORM实际上是对业务的简化。就想面向过程到面向对象的转变一样。

面向过程和面向对象

  • 面向过程:程序员需要对每一个操作进行描述
  • 面向对象:每一个操作都要有一个对象主体,程序员要将业务的操作改成对象发出的操作

举例

面向过程

拿起鸡蛋
打开冰箱门
把鸡蛋放进冰箱
冰箱门关上

面向对象:这里有三个对象,鸡蛋,我,冰箱

我.拿起(鸡蛋)
冰箱.打开()
冰箱.放入(鸡蛋)
冰箱.关闭()

什么是ORM

ORM也是同样的想法。就是数据库存储的表和我程序的对象完全一致。这样存入和取出也方便

无映射关系

程序 对应关系转化 数据库 增删改 查 程序 对应关系转化 数据库

有映射关系

程序 数据库 增删改 查 程序 数据库

ORM默认映射关系

  • 数据表名和程序对象名一致
  • 数据表列和程序对象的属性在个数,名称,数据类型一致

ADO.NET用于解决什么问题

优化开发效率

因为数据库是程序对象完全一致,所以我们只需要设置数据库或者程序对象,另外一部分会有程序自动对应。数据库或者对象的先后顺序称之为DB First和 Code First。之后我们不需要了解程序和数据库之间的对应关系了。
而且Entity Fromwork封装了一些数据库操作,利用程序生成sql语句,减少了我们sql语句拼写的错误

对已存在的数据库,设计多个程序

有时候我们需要对已存在的数据库设计一个小程序,例如数据库批量修改,数据导出。里面包含一些逻辑,无法或者很难用sql语句直接写出,而且很容易出错,也不能断点调试。这里我们就可以使用ADO.NET,直接生成对应映射文件。这样就不需要我们从头一个一个写数据库对应实体。

对开发中的程序,动态设计数据库,同步更新

我们在开发程序中,经常会出现数据库需要增加/删除字段的需求。ADO.NET支持动态同步。增加效率和避免出错

ADO.NET如何使用,以sql server为例

ADO.NET默认支持Sql server
C# .NET ADO.NET介绍和如何使用_第2张图片

ADO.NET如何创建

首先创建一个sql server数据库,如何创建这里不再赘述

C# .NET ADO.NET介绍和如何使用_第3张图片

右键添加,选择新建项
C# .NET ADO.NET介绍和如何使用_第4张图片
C# .NET ADO.NET介绍和如何使用_第5张图片

C# .NET ADO.NET介绍和如何使用_第6张图片

C# .NET ADO.NET介绍和如何使用_第7张图片
C# .NET ADO.NET介绍和如何使用_第8张图片
C# .NET ADO.NET介绍和如何使用_第9张图片
C# .NET ADO.NET介绍和如何使用_第10张图片

C# .NET ADO.NET介绍和如何使用_第11张图片
C# .NET ADO.NET介绍和如何使用_第12张图片

C# .NET ADO.NET介绍和如何使用_第13张图片
C# .NET ADO.NET介绍和如何使用_第14张图片

ADO.NET如何增删改查

ASP.NET Core 3.1系列(20)——EFCore中的删除实体操作

ADO.NET同步数据库更新

C# .NET ADO.NET介绍和如何使用_第15张图片
C# .NET ADO.NET介绍和如何使用_第16张图片
C# .NET ADO.NET介绍和如何使用_第17张图片

但是有bug

C# .NET ADO.NET介绍和如何使用_第18张图片

个人推荐,删除再重新导入

C# .NET ADO.NET介绍和如何使用_第19张图片

C# .NET ADO.NET介绍和如何使用_第20张图片
C# .NET ADO.NET介绍和如何使用_第21张图片
再重新导入

C# .NET ADO.NET介绍和如何使用_第22张图片
属性正确

C# .NET ADO.NET介绍和如何使用_第23张图片

ADO.NET如何扩展到其它数据库

如何扩展那是非常麻烦的,我目前只扩展了sqlite数据库,接下来打算扩展到mysql。

visual studio 2022,ADO.NET 实体数据模型添加 sqlite数据库对象

你可能感兴趣的:(.net,c#,数据库)