目录
一、在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下却能屡试不爽。(我怀疑适用于任何版本)【.NET下使用LINQtoSQL的方法,请关注本文作者的后续文章】
四、理由
微软对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