C#在.NET Windows窗体应用中使用LINQtoSQL

2023-11-07 14:52

本文主要是介绍C#在.NET Windows窗体应用中使用LINQtoSQL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、新建Windows窗体应用并添加LINQtoSQL类

二、错误信息CS0234

三、添加扩展包让Windows窗体应用支持LINQtoSQL类


        默认安装的背景下,新建的Windows窗体应用是不支持LINQtoSQL类的。现象是资源管理器里的依赖项中默认的安装不能自动生成支持system.data.linq和system.data.linq.mapping之类的文件。导致DataClasses1.designer.cs文件里一片红色警告。【本文的作者在其写的其他文章里已经有所涉及】

        作者经过摸索、尝试,终于在.NET7.0的 Windows窗体应用中通过在NuGet管理器向新建的应用程序中添加扩展安装包的方法,手动解决了项目资源管理器中依赖项不能自动生成的类库的支持文件,从而让.NET7.0的 Windows窗体应用也能像Windows窗体应用(.NET Framework)那样正常使用LINQtoSQL类。

一、新建Windows窗体应用并添加LINQtoSQL类

        这一步的详细步骤在本文作者的其他文章中已经有所涉及,在此不再详述,仅把重要的环节凝练如下:

  • 新建Windows窗体应用,.NET7.0;
  • 新建数据库连接:工具→连接数到据库,在左侧生成服务器资源管理器,然后新建数据库连接,已经建立数据库的,省略此步骤;
  • 新增LINQtoSQL类:右侧,资源管理器,新建LINQtoSQL类。已经建立过得,接受并确认;
  • 向dbml文件中添加数据库:双击DataClasses1.dbml,并从左侧数据库列表中拖拽数据表到向展示的窗口中,保存。
  • 打开自动生成的dbml下的设计器文件:双击DataClasses1.designer.cs,发现很多using光芒暗淡,程序文件很多类名称一片红警(没有第4步,现象也是一片红警,两者的差别是红警的多少)。 

二、错误信息CS0234

        观看后发现2个命名空间被支持,显示错误信息CS0234 命名空间“System.Data”中不存在类型或命名空间名“Linq”(是否缺少程序集引用?)  。

        using System.Data.Linq;
        using System.Data.Linq.Mapping;

        尝试解决问题的办法:如果能手动添加支持命名空间的文件,是否能解决遭遇的问题呢?

三、添加扩展包让Windows窗体应用支持LINQtoSQL类

        操作流程:鼠标选中资源管理器、依赖项,右侧→管理NuGet程序包,点击→浏览、搜索“system.data.linq”,发现没有微软提供的程序包,最接近解决方案的是“netcore-System.Data.Linq 7.0.4”程序包→下载安装→安装结束后,发现不支持的完毕后红警消失,除了“错误 Failed to add reference dll.    WinFormsApp2    C:\Users\YCZN_MT\Desktop\测试1\WinFormsApp2\WinFormsApp2\DataClasses1.dbml ”之外→删除此前在DataClasses1.dbml中拖拽来的数据库,保存一下,然后再把这个文件重新拖拽回来,再次保存一下。→这个红警也消失了。
        至此,所有导致默认、新建的Windows窗体应用不支持LINQtoSQL类的故障全部解决。

 

 

 

这篇关于C#在.NET Windows窗体应用中使用LINQtoSQL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/364380

相关文章

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We