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

news/2024/7/24 0:51:01 标签: .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.niftyadmin.cn/n/5150397.html

相关文章

C++头文件中变量不能进行初始化

C头文件中变量不能进行初始化&#xff0c;否则会发生error: ‘array’ does not name a type array.push_back(1); 重定义错误 在DataDef.h头文件中的代码如下&#xff1a; #ifndef DATA_DEF_H_ #define DATA_DEF_H_#include <vector>std::vector<int> array; ar…

浙政钉h5上架流程

基础环境配置 vue2.6 node 14.21.3 sass-loader: 8.0.2 sass: 1.26.5注意 h5项目必须是vue-cli脚手架新建项目 上传的必须是源码包 源码包中必须删除 node_modules、.git、.vscode、.idea、build、.gitigonre等文件夹 推荐打包之后输出的目录如下 build {static 文件夹 inde…

Nginx多端适配

Nginx多端适配 通过nginx获取用户设备的Agent来判断 # 多端适配server { listen 7000; server_name zhhll.icu; location / { root /Users/zhanghe/Desktop/nginx; # 1.如果是静态页面判断agent如果是移动端则指向移动端 # 2.pc和m端是两个服务&…

nvm 下载 nodejs 速度慢问题解决

1、找到 nvm 的下载目录&#xff0c;在目录下找到 settings.txt 文件 2、打开 settings.txt 文件 &#xff0c;添加以下代码&#xff1a; node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/添加完成后再去下载即可。

巴菲特:卖比亚迪有助于资金配置

巴菲特表示&#xff0c;未来可能会有更多银行倒闭&#xff0c;但储户不必担心&#xff0c;他警告说&#xff0c;陷入困境的银行股不是价值投资&#xff0c;因为即使政府采取行动保护储户&#xff0c;股东的权益也会受到损失。他称&#xff0c;将加大对日本综合商社的投资&#…

【1++的Linux】之线程(一)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的Linux】 文章目录 一&#xff0c;Linux线程概念二&#xff0c;线程的优缺点进程和线程类比现实 三&#xff0c; 线程的操作线程的私有资源 && 线程的创建线程的等待线程终止线程分离…

yolov5简易使用

1.环境配置 从github上下载好yolov5源码后&#xff0c;根据requirement文件配置环境&#xff0c;使用conda新建一个仿真环境&#xff0c;接着使用 pip install -r requirements.txt 来安装环境&#xff0c;安装后首先运行detect.py 发现安装后的环境不能使用&#xff0c;报…

Dubbo篇---第二篇

系列文章目录 文章目录 系列文章目录一、注册中心挂了,consumer 还能不能调用 provider?二、怎么实现动态感知服务下线的呢?三、Dubbo 负载均衡策略?一、注册中心挂了,consumer 还能不能调用 provider? 可以。因为刚开始初始化的时候,consumer 会将需要的所有提供者的地…