001从零开始入门Entity Framework Core——基础知识

1、对于 EF Core,使用模型执行数据访问。 模型实体类和表示数据库会话的 上下文对象构成。 上下文对象允许查询并保存数据。

2、EF 支持以下模型开发方法:

  • 从现有数据库生成模型。
  • 对模型手动编码,使其符合数据库。
  • 创建模型后,使用 EF 迁移从模型创建数据库。 模型发生变化时,迁移可让数据库不断演进。

1、Entity Framework Core (EF Core) 以 NuGet 包的形式提供。 应用程序所需的包取决于:

  • 所使用的数据库系统类型(SQL Server、SQLite 等)
  • 所需的 EF Core 功能

2、安装包的常规过程是:

  • 确定数据库提供程序并安装相应的包
  • 如果使用关系数据库提供程序,还需安装 Microsoft.EntityFrameworkCore 和 Microsoft.EntityFrameworkCore.Relational。 这有助于确保使用一致的版本,同时也意味着 NuGet 会在新的包版本发布时通知你。
  • 或者确定所需的工具类型,并为此安装相应的包

3、总言之,要将 EF Core 添加到应用程序,请安装适用于要使用的数据库提供程序的 NuGet 包。

4、注意事项:

  • 如果要生成 ASP.NET Core 应用程序,不需要安装内存中和 SQL Server 提供程序。 这些提供程序随 EF Core 运行时一起包含在当前版本的 ASP.NET Core 中。
  • 要安装或更新 NuGet 包,可以使用 .NET Core 命令行界面 (CLI)、Visual Studio 包管理器对话框或 Visual Studio 包管理器控制台。
  • 用于 EF Core 的第三方提供程序通常不随 EF Core 运行发布修补程序版本。 若要将使用第三方提供程序的应用程序升级到 EF Core 的修补程序版本,可能需要添加对单独的 EF Core 运行时组件(如 Microsoft.EntityFrameworkCore 和 Microsoft.EntityFrameworkCore.Relational)的直接引用。
  • 请务必安装 Microsoft 提供的所有 EF Core 包的同一版本。 例如,如果安装了 5.0.3 版本的 Microsoft.EntityFrameworkCore.SqlServer,则所有其他 Microsoft.EntityFrameworkCore.* 包也必须为 5.0.3 版本。
  • 此外,请确保所有外部包都与所使用的 EF Core 的版本兼容。 特别是,检查外部数据库提供程序是否支持你所使用的 EF Core 版本。 EF Core 的新主版本通常需要更新的数据库提供程序。

1、EF Core 通过使用”数据库提供程序”支持不同的数据库系统。 每个系统都有自己的数据库提供程序,而提供程序以 NuGet 包的形式提供。 应用程序应安装其中一个或多个提供程序包。

2、下表列出了常见的数据库提供程序。

数据库系统 包 SQL Server 和 SQL Azure Microsoft.EntityFrameworkCore.SqlServer SQLite Microsoft.EntityFrameworkCore.Sqlite Azure Cosmos DB Microsoft.EntityFrameworkCore.Cosmos PostgreSQL Npgsql.EntityFrameworkCore.PostgreSQL MySQL Pomelo.EntityFrameworkCore.MySql EF Core 内存中数据库 Microsoft.EntityFrameworkCore.InMemory

Microsoft 和第三方以 NuGet 包的形式发布了许多 EF Core 扩展。 常用包包括:

功能 包 附加依赖项 用于延迟加载和更改跟踪的代理 Microsoft.EntityFrameworkCore.Proxies Castle.Core 对 SQL Server 的空间支持 Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite NetTopologySuite 和 NetTopologySuite.IO.SqlServerBytes 对 SQLite 的空间支持 Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite NetTopologySuite 和 NetTopologySuite.IO.SpatiaLite 对 PostgreSQL 的空间支持 Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite NetTopologySuite 和 NetTopologySuite.IO.PostGIS(通过 Npgsql.NetTopologySuite) 对 MySQL 的空间支持 Pomelo.EntityFrameworkCore.MySql.NetTopologySuite NetTopologySuite

其他 EF Core 包作为数据库提供程序包的依赖项进行拉取。 但是,建议为这些包添加显式包引用,这样 NuGet 在发布新版本时会提供通知。

功能 包 EF Core 基本功能 Microsoft.EntityFrameworkCore 通用关系数据库功能 Microsoft.EntityFrameworkCore.Relational 用于 EF Core 特性等的轻型包。 Microsoft.EntityFrameworkCore.Abstractions EF Core 使用情况的 Roslyn 代码分析器 Microsoft.EntityFrameworkCore.Analyzers 没有原生 SQLite 依赖项的 EF Core SQLite 提供程序 Microsoft.EntityFrameworkCore.Sqlite.Core

Release 目标 Framework 支持截止时间 EF Core 6.0 .NET 6 2024 年 11 月 8 日 (LTS) EF Core 5.0 .NET Standard 2.1 2022 年 5 月 10 日过期 EF Core 3.1 .NET Standard 2.0 2022 年 12 月 3 日 (LTS) EF Core 3.0 .NET Standard 2.1 2020 年 3 月 3 日过期 EF Core 2.2 .NET Standard 2.0 过期时间:2019 年 12 月 23 日 EF Core 2.1 .NET Standard 2.0 过期时间:2021 年 8 月 21 日* EF Core 2.0 .NET Standard 2.0 过期时间:2018 年 10 月 1 日 EF Core 1.1 .NET Standard 1.3 过期时间:2019 年 6 月 27 日 EF Core 1.0 .NET Standard 1.3 过期时间:2019 年 6 月 27 日

EF Core 3.1 5.0 6.0 .NET & .NET Core 3.1 5.0 6.0 .NET Standard 2.0 2.1 .NET Framework 4.7.2 Mono 5.4 6.4 Xamarin.iOS 10.14 12.16 (使用 .NET 6) Xamarin.Mac 3.8 5.16 (使用 .NET 6) Xamarin.Android 8.0 10.0 (使用 .NET 6) UWP 10.0.16299 (使用Windows 应用 SDK) Unity 2018 年 1 月 2021.2 TBD Tizen 4.0 6.0 (使用 .NET 6)

Original: https://www.cnblogs.com/iZOHC/p/16663922.html
Author: 张欧昊辰
Title: 001从零开始入门Entity Framework Core——基础知识

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611075/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Shell文件属性的判断与比较

    Shell支持对文件属性的判断,常用的文件属性操作符很多,如下表所示。更多文件属性操作符可以参考命令帮助手册man test [root@centos7~]#…

    数据库 2023年6月14日
    081
  • Nginx基础入门篇(3)—返回状态码详解

    一般常见返回状态码 200 – 服务器成功返&a…

    数据库 2023年6月14日
    0172
  • 数据火器库八卦系列之瑞士军刀随APP携带的SQLite

    来源:云数据库技术 数据库打工仔喃喃自语的八卦历史 为导弹巡洋舰设计,用在手机上的数据库 Small and Simple, and Better 如何看出是自己的娃:产品定位,特…

    数据库 2023年6月11日
    096
  • Dev-tools使用遇到的小问题

    Dev-tools使用遇到的小问题 间隔长时间后重新打开某网页,提示Failed to load data:No resource with given identifier fo…

    数据库 2023年6月6日
    074
  • 接口测试

    :配置windows中特定应用的抓包(默认抓取不到) :添加备注信息 :重新发起指定请求 :清空指定会话内容 :断点放行 :模式切换 :相应数据解码 :抓取指定进程发出的请求 :关…

    数据库 2023年6月16日
    0100
  • Javaweb-Http、Maven及Servlet详解

    一、Http 1.什么事Http Http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上 文本:html,字符串,~.. 超文本:图片,音乐,视屏,定位,地图…

    数据库 2023年6月16日
    083
  • 关于看源码的心得体会

    前段时间面试,经常遇到面试官在结束的时候问我看过什么开源源码?然后网上对于看源码这块的说法也有各种不同的意见,我进行了总结如下: 不看源码说法: 平常的工作需求、业务忙的一批,哪有…

    数据库 2023年6月6日
    0249
  • Secret加密以及Configmapd配置介绍

    今天我们来了解有关Secret加密以及Configmapd配置介绍 一、Configmapd配置介绍 ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程…

    数据库 2023年6月14日
    056
  • MYSQL–>事务

    事务是一组操作的集合,它是一个不可分割的工作单位。 事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,这些操作要么同时成功,要么同时失败 开启事务—->…

    数据库 2023年6月14日
    072
  • MySQL事务基本使用

    1 事务概述 1.1 事务的支持情况 1.2 事务的特性 1.3 事务的状态 2 使用事务 2.1 显示事务 2.2 隐藏事务 3 事务隔离等级 3.1 数据并发问题 3.2 事务…

    数据库 2023年6月9日
    096
  • Javaweb-文件上传和邮件发送

    1.文件上传 新建空项目 准备工作 在maven仓库里下载commons io 和 commons fileupload两个jar包 实用类介绍 文件上传注意事项 为保证服务器安全…

    数据库 2023年6月16日
    079
  • City of stars

    本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://www.cnblogs.com/ukzq/p/16747306.html Or…

    数据库 2023年6月11日
    097
  • Python–软件目录结构

    目的不必多说:提高项目可读性、可维护性 软件目录结构示例: 那么问题来了,当类似于如上的目录结构时,我怎么在game.py中去调用setting.py或者main.py中的函数呢?…

    数据库 2023年6月9日
    079
  • Django项目中表的查询的操作

    2022-09-29 shell操作: 我在使用中是pycharm与数据库建立连接的一个工具。 使用的环境: 在此处是用在了虚拟环境中。 使用场景: 一般是在创建的表中插入数据后,…

    数据库 2023年6月14日
    065
  • bat 脚本启用及禁用网卡

    启用网卡 需要以管理员身份运行bat脚本 netsh interface set interface "Npcap Loopback Adapter" enab…

    数据库 2023年6月9日
    0116
  • MySQL 数据库中的数据类型

    整数类型 标准 SQL 中支持 INTEGER 和 SMALLINT 这两种类型,MySQL 数据库除了支持这两种类型以外,还扩展支持了 TINYINT、MEDIUMINT 和 B…

    数据库 2023年5月24日
    057
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球