C#中LINQtoSQL的设置与连接

目录

一、首次安装LinqToSql类

二、非首次安装LinqToSql类

1.接受原有数据库连接

2.建立新的数据库连接

3.建立本地数据库连接


        LINQ(Language-Integrated Query,语言集成查询)是微软公司提供的一项新技术,它能够将查询功能直接引入.NET Framework所支持的编程语言中。查询操作可以通过编程语言自身来传达,而不是以字符串形式嵌入应用程序代码中。LINQ主要包括LINQ to SQL、LINQ to DataSet、LINQ to Objects和 LINQ to XML 4种关键技术。

        LINQ to ADO.NET可以分为两部分:LINQ to SQL 和LINQ to DataSet。LINQ可以查询或操作任何存储形式的数据。

一、首次安装LinqToSql类

        这里说的首次安装,指的是本机电脑首次安装,不是某一个项目添加LinqToSql类。

         VS2022安装完毕通常是不会自动安装LinqToSql类的,需要单独安装。安装过程如下:

        打开VS→创建新项目→安装多个工具和功能→单个组件,选择LinqToSql工具→下载并安装→完成。

      在项目中安装LinqToSql并绑定SQL数据库的数据表,比如的数据库db_CSharp的数据表tb_Employee。其过程如下: 打开VS的一个解决方案→右侧,资源管理器,选中项目名称,右键,新建项→C#项,数据,LinqToSql类→添加→添加连接:数据源、服务器名、身份验证、选择或输入数据库名称→测试链接→确定。

        工具→连接到数据库→查看上面建立的连接,纯净的VS首次安装,应该如下图。

 

        检查是否安装成功的流程:成功建立LinqToSql类VS解决方案,会显示如下截图:

         其中右侧的资源管理器截图如下,其中一定要注意项目中包括Propties、引用、DataClasses1.dbml、Form1.cs、Program.cs。尤其要注意Propties和DataClasses1.dbml下面具体包含的内容不能比截图少,否则项目的很多程序会一片红色报警。

         从左侧服务器资源管理器,鼠标拖动数据库db_CSharp里的数据表tb_Employee到上面的DataClasses1.dbml的左侧画面空白处,保存DataClasses1.dbml。右侧项目资源管理器会自动生成LINQ相关的程序,截图如下。 

        右侧项目资源管理器,显著变化,DataClasses1.dbml下面自动增加了DataClasses1.designer.cs。打开这个文件,安装正确的话,代码页显示正常,没有警告。安装不正确,该页面一片红色的警告。

         点击生成,会生成一个空白的窗体,至此LinqToSql类建立完毕。

二、非首次安装LinqToSql类

         VS项目中多数情况下安装LinqToSql类属于非首次安装,即在VS项目安装LinqToSql类之前已经在其他项目中安装过LinqToSql类。

        此时,安装过程和首次安装大致相同。但因为IDE环境中因为安装过LinqToSql,因此在右侧资源管理器,选中项目名称,右键,新建项→C#项,数据,LinqToSql类→添加

 关掉上面的解决方案,新建另一个解决方案,比如WindowsFormsApp2.sln。

 

        左侧服务器资源管理器,默认建立db_CSharp。

1.接受原有数据库连接

        如果接受这个数据库,剩下的操作与第一步一样:右侧,资源管理器,选中项目名称,右键,新建项→C#项,数据,LinqToSql类→添加→弹出DataClasses1.dbml窗口鼠标拖动数据库db_CSharp里的数据表tb_Employee到上面的DataClasses1.dbml的左侧画面空白处→右侧资源管理器里自动生成DataClasses1.designer.cs。

        点击生成,会生成一个空白的窗体,至此LinqToSql类建立完毕。

2.建立新的数据库连接

        如果要新建数据库链接:左侧,服务器资源管理器→选中数据连接,右键,添加连接,出现下图→刷新,以边查找新的数据库。

        选择刷新到的数据库,Windows身份验证,选择新的数据库db_EMS,测试连接,成功→确定

 

         →出现如下截图

         →右侧,资源管理器,选中项目名称,右键,添加,新建项,数据,LinqToSql类,添加→出现如下截图,右侧自动生成DataClasses1.dbml并弹出DataClasses1.dbml窗体

          左侧,服务器管理器,鼠标拖动数据库db_EMS里的数据表tb_employee到上面的DataClasses1.dbml的左侧画面空白处→保存→右侧资源管理器里自动更新DataClasses1.designer.cs,增加tb_employee。

        点击生成,会生成一个空白的窗体,至此LinqToSql类建立完毕。

3.建立本地数据库连接

        很多情况下,尤其在学习、研究 、测试软件功能时,先用VS自带的本地数据库建立连接,会带来更多的方便。

        左侧,服务器资源管理器,数据连接,右键,添加连接  更改数据源,为数据库文件  浏览,选中需要的数据库,比如db_test,不能与已经建立的数据库连接同名,如果要把已经建立的数据库变更为本地数据库连接,可以删除已经建立的数据库连接,也可以变更到本地数据库连接  使用Windows身份验证登录  测试连接,成功连接。

          弹出如下窗体,剩余操作过程同前述。

 

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

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

相关文章

作物模型--土壤数据制备过程

作物模型–土壤数据制备过程 首先打开FAO网站 下载下面这两个 Arcgis打开.bil文件 .mdb文件在access中转成.xls格式 Arcgis中对.bil文件定义投影

【HarmonyOS】服务卡片 API6 JSUI跳转不同页面并携带参数

【关键字】 服务卡片、卡片跳转不同页面、卡片跳转页面携带参数 【写在前面】 本篇文章主要介绍开发服务卡片时,如何实现卡片点击跳转不同页面,并携带动态参数到js页面。在此篇文章“服务卡片 API6 JSUI跳转不同页面”中说明了如果跳转不同页面&#xf…

【机器学习】几种常用的机器学习调参方法

在机器学习中,模型的性能往往受到模型的超参数、数据的质量、特征选择等因素影响。其中,模型的超参数调整是模型优化中最重要的环节之一。超参数(Hyperparameters)在机器学习算法中需要人为设定,它们不能直接从训练数据…

【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别

5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别 1. 超算2. 高性能计算3. 并行计算4. 分布式计算5. 网格计算6. 集群计算7. 云计算小结相关资料 1. 超算 超级计算机(Sup…

基于springboot实现原创歌曲分享平台系统项目【项目源码+论文说明】

基于springboot实现原创歌曲分享平台系统演示 摘要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理平台应运而生…

ChatGPT对未来发展的影响?一般什么时候用到GPT

ChatGPT以其强大的自然语言处理能力对未来的发展具有重要影响。以下是ChatGPT的潜在影响和一般使用情况: 改善自然语言理解和生成:ChatGPT和类似的模型可以改善机器对人类语言的理解和生成。这将有助于改进各种应用领域,包括智能助手、聊天机…

SaaS 出海,如何搭建国际化服务体系?(三)

防噎指南:这可能是你看到的干货含量最高的 SaaS 出海经验分享,请准备好水杯,放肆食用(XD。 当越来越多中国 SaaS 企业选择开启「国际化」副本,出海便俨然成为国内 SaaS 的新角斗场。 LigaAI 观察到,出海浪…

UE5 日记(人物连招:蒙太奇动画通知(含视频链接))

教程https://www.youtube.com/watch?vsWpENaVGj2M&listPLiSlOaRBfgkcPAhYpGps16PT_9f28amXi&index10&ppiAQB 相关蓝图 连招逻辑 动画通知类 逻辑分析 1.用户输入 已搭载战斗系统模块,可以收到输入指令 2.连击 第一次攻击: 第一次攻击,…

Flask Shell 操作 SQLite

一、前言 这段时间在玩Flask Web,发现用Flask Shell去操作SQLite还是比较方便的。今天简单地介绍一下。 二、SQLite SQLite是一种嵌入式数据库,它的数据库就是一个文件,处理速度快,经常被集成在各种应用程序中,在IO…

el-tabs 默认选中第一个

1. 实际开发中el-tabs 都会设置第一个为默认值 ,这样会好看一点, 而渲染的数据经常是通过后端返回的数据 , v-model 无法写死默认值 解决办法 , 通过计算机属性 ,在data 定义一个 selectedTab watch: {defaultTab(newVal) {this.selectedTab newVal; // 设置第一个标签页…

超低价:阿里云双11服务器优惠价格表_87元一年起

2023阿里云双十一优惠活动已经开启了,轻量2核2G服务器3M带宽优惠价87元一年、2核4G4M带宽优惠价165元一年,云服务器ECS经济型e实例2核2G3M固定带宽优惠价格99元一年,还有2核4G、2核8G、4核8G、4核16G、8核32G等配置报价,云服务器e…

【面试经典150 | 链表】随机链表的复制

文章目录 Tag题目来源题目解读解题思路方法一:哈希表递归方法二:哈希表方法三:迭代拆分节点 写在最后 Tag 【递归】【迭代】【链表】 题目来源 138. 随机链表的复制 题目解读 对一个带有随机指向的链表进行深拷贝操作。 解题思路 本题一共…