C#中LINQtoSQL只能在.NetFramework下使用,不能在.net 下使用

目录

一、在net7.0下无法实现LINQtoSQL

1.VS上建立数据库连接

2.VS上创建LINQtoSQL

二、在.NetFramework4.8下成功实现LINQtoSQL

1.VS上建立数据库连接

2.VS上创建LINQtoSQL

三、结论

四、理由


        本文是个人观点,因为我百般努力在.net7.0下无法实现LINQtoSQL的使用,而在.NetFramework4.8却能屡试不爽。如果哪位网友实现了在.net7.0下LINQtoSQL应用,请发表或与我互动。

一、在net7.0下无法实现LINQtoSQL

        新建Windows窗体应用解决方案,项目名称05_1(例子的名称,下同),解决方案名称05_1,框架.net7.0。

1.VS上建立数据库连接

         先在SSMS上建立数据库db_CSharp的连接,其方法已在本作者的其他文章中涉及,不在赘述。

        在新建的05_1项目中建立数据库连接:工具→连接到数据库→数据源:Microsoft SQL Server (SqlClient)→服务器名,按SSMS里的服务器名称手动写入,不要刷新,一般情况下刷新的结果无效,比如desktop-3lv13fs→Windows身份验证→数据库名称:手动输入SSMS中已经建立的数据库名称,比如db_CSharp→测试连接,成功,则确定。

2.VS上创建LINQtoSQL

        右侧,资源管理器 → 鼠标选中项目名称→右键,新建项,数据,LINQtoSQL类→添加→双击在自动生成的DataClasses1.dbml,双击该文件,在弹出窗口中从左侧服务器资源管理器,刚才新建的数据库连接db_CSharp中拖拽tb_Employee到此窗口的左侧第一窗口,保存DataClasses1.dbml → 右侧,资源管理器中自动更新DataClasses1.dbml,其下新增DataClasses1.designer.cs,其下新增tb_Employee。说到这里都没错,但是,接着要说的就是.net7.0不支持LINQtoSQL的地方了。→,同样位置,自动新增生成Properties,在Properties下只有一个文件Settings.settings。这种结果是不对的,没有自动生成完整的Properties文件,导致打开DataClasses1.designer.cs后一片红警,提示缺少using文件的支持。

二、在.NetFramework4.8下成功实现LINQtoSQL

        新建Windows窗体应用(.NetFramework)解决方案,项目名称05_2(例子的名称,下同),解决方案名称05_2,框架.NetFramework4.8。

1.VS上建立数据库连接

        建立方法同上。本机电脑和IDE已经建立,不需要重建,刷新一下确认连接即可。

2.VS上创建LINQtoSQL

        新建项目05_2打开后,明显的区别是,右侧,资源管理器中自动生成Properties,在Properties有三个文件:Settings.settings、Resources.resx、AssemblyInfo.cs。如果是纯净的VS首次安装数据库连接,也会在首次安装后自动生成完整的Properties的三个文件。(我错过了记录,再次创建的时候VS就已经有数据库连接了,网友可以尝试的)

        然后,右侧,资源管理器 → 鼠标选中项目名称→右键,新建项,数据,LINQtoSQL类→添加→双击在自动生成的DataClasses1.dbml,在自动弹出窗口中从左侧服务器资源管理器,刚才新建的数据库连接db_CSharp中拖拽tb_Employee到此窗口的左侧第一窗口,保存DataClasses1.dbml → 右侧,资源管理器中自动更新DataClasses1.dbml,其下新增tb_Employee。 

        在.NetFramework4.8实现LINQtoSQL连接顺畅无比,生成上例,会显示一个空表。

三、结论

        在.net下无法实现LINQtoSQL的使用,而在.NetFramework下却能屡试不爽。(我怀疑适用于任何版本)

四、理由

        微软对LINQtoSQL停止更新或更新与.net不同步。

        LINQ是从.NET Framework3.0开始,.NET平台上引入的一种新式语言特性。.NET Framework4.8是.NET Framework的最后一个版本。NET Framework停止更新后微软就进入了.net的时代。.net下微软主推的ORM解决方案是Entity Framework。

参考文献:.NET的历史介绍_.net版本-CSDN博客 https://blog.csdn.net/qq_54750179/article/details/128672139

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/161081.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【异常错误】Multiple top-level packages discovered in a flat-layout: [

今天在配置环境时,在运行代码: pip install -e . 出现了以下错误: 解决方案 在setup.py中显示加入一行 py_modules[],如: setup(namexxxx,versionx.x,py_modules[], ) 再次运行pip指令安装即可解决。 error: Mul…

分析报告有样板了-奥威BI数据可视化报表模板

述职报告、月度数据分析报告、季度数据分析报告、区域数据分析报告……人在职场,数据分析报告少不了。那么,怎么才能在极短的时间内做出一张既好看又突出重点、分析逻辑在线的数据可视化分析报表?奥威BI软件的建议是采用BI数据可视化报表模板…

香港金融科技周2023:AIGC重塑金融形态

10月31日,由香港财经事务及库务局与投资推广署主办的“香港金融科技周2023大湾区专场”盛大启幕。中国AI决策领先企业萨摩耶云科技集团创始人、董事长兼 CEO林建明受邀参加圆桌会议,与中国内地、香港以及全球金融科技行业顶尖人才、创新企业、监管机构和…

20.7 OpenSSL 套接字SSL加密传输

OpenSSL 中的 SSL 加密是通过 SSL/TLS 协议来实现的。SSL/TLS 是一种安全通信协议,可以保障通信双方之间的通信安全性和数据完整性。在 SSL/TLS 协议中,加密算法是其中最核心的组成部分之一,SSL可以使用各类加密算法进行密钥协商,…

04-附注 三维空间中的线性变换

附注 三维空间中的线性变换 三维空间线性变换 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 三维空间线性变换 图1 绕y轴旋转90 绕y轴旋转90后,各基向量所在的坐标如图1所示。用旋转后的各基向量作为矩阵的列,就得到变换矩阵。变换矩阵…

Redis4 渐进式遍历/自定义客户端/持久化

1.渐进式遍历 1.keys *一次性把所有的key都获取到.但是存在一个问题,一旦数据过多,redis就会被阻塞住,就无暇顾及其他的命令,这样的影响很大. 2.那么就出现了渐进式遍历,可以做到既能获取所有的key,又不会阻塞服务器.渐进式不是一个命令把所有的key获取到,而是没执行一次命令只…

Pyhotn: Mac安装selenium没有chromedriver-114以上及chromedriver无法挪到/usr/bin目录下的问题

1.0 安装selenium 终端输入: pip install selenium 查看版本: pip show selenium2.0 安装chromedriver 查看chrome版本 网上大多数是,基本到114就停了。 https://registry.npmmirror.com/binary.html?pathchromedriver/ 各种搜索&#…

使用 ChatGPT 提升 LeetCode 刷题效率

文章目录 1 背景2 操作步骤 1 背景 在做 LeetCode 的 SQL 题库时, 想在本地调试, 需要在本地的数据库上创建表以及准备测试数据, 大家都是有经验的开发人员, 简单粗暴的办法就不讲了 可以借助 ChatGPT 的能力, 生产数据库的表以及测试数据的 sql, 提升刷题效率 2 操作步骤 将…

【MySQL】数据库MySQL基础知识与操作

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《MySQL》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&a…

【PyTorch 卷积】实战自定义的图片归类

前言 卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一,它通过卷积层、池化层、全连接层等结构,可以有效地处理如时间序列和图片数据等。关于卷积的概念网络上也比较多,这里就不一一描述了。…

加密解密基础知识Crypto Basics

base64编码 编码不是真正的密码学,但它在围绕加密功能的各种标准中被大量使用。尤其是 Base64 编码。 Base64 编码是一种用于将各种字节转换为特定字节范围的技术。此特定范围是 ASCII 可读字节。 这样,您可以更轻松地传输二进制数据,例如密…

【Nginx38】Nginx学习:SSL模块(二)错误状态码、变量及宝塔配置分析

Nginx学习:SSL模块(二)错误状态码、变量及宝塔配置分析 继续我们的 SSL 模块的学习。上回其实我们已经搭建起了一个 HTTPS 服务器了,只用了三个配置,其中一个是 listen 的参数,另外两个是指定密钥文件的地址…