当前位置: 首页 > news >正文

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.lryc.cn/news/217530.html

相关文章:

  • Nacos 的底层实现原理 注册中心的两种调用方式
  • 视频编码格式和文件格式(多媒体容器格式)的关系
  • RHCSA --- 第二天
  • 作为一个初学者,入门大模型其实没那么难
  • 【QT】基本的绘图操作和高级绘图
  • layer.open再次渲染html,子页面调用在父页面打开弹出层,渲染html
  • 【Apache Flink】Flink DataStream API的基本使用
  • 民安:专业在线教育平台客户满意度调查的引领者
  • 浅谈新能源汽车充电桩的选型与安装
  • FFmpeg系列索引
  • AWS组件使用
  • DALLE 3技术分析 - 训练方式/模型结构
  • Go的自定义错误
  • SpringBoot集成Dubbo
  • 利用shp文件构建mask【MATLAB和ARCGIS】两种方法
  • Luminar Neo Mac/Windows中文版:引领AI图像编辑的革命性时代
  • 远程设备常用工具:向日葵、Todesk
  • JAVA七种常见排序算法
  • 高质量绝世玄幻小说,情节引人入胜,一读成痴的绝佳选择
  • Flask三种添加路由的方法
  • 基于layui的select选择框修改为多选框
  • 【技术分享】RK356X Android 使用 libgpiod 测试gpio
  • 代碼隨想錄算法訓練營|第五十九天|647. 回文子串、7516.最长回文子序列、动态规划总结篇。刷题心得(c++)
  • Qt封装的Halcon显示控件,支持ROI绘制
  • 基于深度学的图像修复 图像补全 计算机竞赛
  • vue3框架全局修改样式(字体颜色以及初始化定义基础elemplent颜色)
  • Linux - 进程控制(上篇)- 进程创建 和 进程终止
  • NiceGui:Python中的轻量级GUI框架初体验
  • php 常用的接口和函数
  • 【Flutter】Flutter 动画深入解析(2):掌握 AnimatedBuilder 将动画的逻辑和 UI 代码分离