C#中.NET 7.0不再支持ADO.NET,.NET Framwork依旧支持

2023-11-10 18:44

本文主要是介绍C#中.NET 7.0不再支持ADO.NET,.NET Framwork依旧支持,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、.NET 7.0框架下任何应用不再支持ADO.NET

二、.NET Framwork框架下Windows窗体应用支持ADO.NET 

三、.NET 7.0不支持ADO.NET的真正原因


        经过一阵折腾,终于可以确证C#中.NET框架不再支持用户通过ADO.NET的实体框架模型访问数据库,无论是.NET 7.0的控制台应用还是Windows窗体应用都不再支持ADO.NET。或者说,除了.NET Framwork之外的控制台应用还是Windows应用都不再支持ADO.NET。

一、.NET 7.0框架下任何应用不再支持ADO.NET

        .NET 7.0框架下控制台应用不再支持ADO.NET访问数据库。

        .NET 7.0框架下控制台Windows窗体应用不再支持ADO.NET访问数据库。

         现象:“项目的目标框架不包含实体框架运行时程序集。请查春项目属性页中的目标框架信息。”即使通过NuGet 新增安装了如截图内的程序包,这种现象仍然存在。

 

 

 

二、.NET Framwork框架下Windows窗体应用支持ADO.NET 

        .NET Framwork 4.8框架下控制台Windows窗体应用支持ADO.NET访问数据库。并且,也不需要NuGet安装那些程序包。

 

        数据库已经在SSMS中成功连接,连接方法在作者此前的文章中有所涉及,不再这里重复。   

        示例程序生成效果在作者此前的文章中有所涉及,不再这里重复。 

三、.NET 7.0不支持ADO.NET的真正原因

        事实上,自.NET 5.0(这是.NET的第一个版本)诞生之日起,就从来没有支持过ADO.NET。经过查阅,微软关于ADO.NET是这样说的:“ADO.NET 是一组向 .NET Framework 程序员公开数据访问服务的类。”参考文献:

       ADO.NET | Microsoft Learn  https://learn.microsoft.com/zh-cn/dotnet/framework/data/adonet/

        所以,希望在.NET上通过ADO.NET实体模型框架,这个简单易用的途经访问数据库的网友,不要再满世界地寻找解决方案了,因为根本就不存在。

        .NET虽然不支持通过ADO.NET访问数据库,但其仍然支持使用EF,只是需要用户自己编写程序,建立模型,并通过建立的模型访问数据库。比如:.NET 7.0虽然不支持ADO.NET但是却支持EF6.0、EF5.0。关于在.NET 7.0框架下的控制台应用或窗体应用中,自己编写框架模型并通过模型访问数据库的方法,请留意作者的后续文章。

 

 

这篇关于C#中.NET 7.0不再支持ADO.NET,.NET Framwork依旧支持的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/384573

相关文章

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进

C#中Guid类使用小结

《C#中Guid类使用小结》本文主要介绍了C#中Guid类用于生成和操作128位的唯一标识符,用于数据库主键及分布式系统,支持通过NewGuid、Parse等方法生成,感兴趣的可以了解一下... 目录前言一、什么是 Guid二、生成 Guid1. 使用 Guid.NewGuid() 方法2. 从字符串创建

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

C#如何去掉文件夹或文件名非法字符

《C#如何去掉文件夹或文件名非法字符》:本文主要介绍C#如何去掉文件夹或文件名非法字符的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#去掉文件夹或文件名非法字符net类库提供了非法字符的数组这里还有个小窍门总结C#去掉文件夹或文件名非法字符实现有输入字

C#之List集合去重复对象的实现方法

《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C# List集合去重复对象方法1、测试数据2、测试数据3、知识点补充总结C# List集合去重复对象方法1、测试数据