如何使用 LINQ to SQL 连接到 SQL Server?

Posted

技术标签:

【中文标题】如何使用 LINQ to SQL 连接到 SQL Server?【英文标题】:How to Connect to SQL Server using LINQ to SQL? 【发布时间】:2011-10-26 20:22:20 【问题描述】:

当然这是一个非常愚蠢的问题,但是如何将我的 C# 控制台应用程序连接到 SQL Server 实例?

已经用 c# Web Apps 做过很多次了,但这是我做过的第一个控制台应用程序。

我能看到的唯一数据源(在 VS 2010 中)是 SQL Server 数据库文件 - 我看不到如何连接到不同服务器上的 SQL 实例。

【问题讨论】:

【参考方案1】:

第 1 步:添加与服务器资源管理器的连接

添加后,您应该会看到它出现在屏幕左侧的服务器浏览器选项卡下。

第 2 步:将 Linq to SQL 文件 (.dbml) 添加到您的项目中

第 3 步:从 Visual Studio 右侧的文件资源管理器中打开 .dbml 文件

第 4 步:通过服务器浏览器上的下拉箭头打开连接,以便查看要在控制台应用中使用的表格

第 5 步:将它们拖到设计区域(如黄线和绿色框中的结果所示)

第 6 步:返回控制台的 .cs 页面,进行实例化,然后开始工作

编辑:

我的猜测是您的计算机中可能缺少 SQL 服务器。检查您的开始菜单,您是否有 Microsoft SQL Server 文件夹,其中包含配置工具,如下所示?:

【讨论】:

干杯。不过,这是第 1 步引起的问题。我在数据源下的唯一选项是:“Microsoft SQL Server 数据库文件(SqlClient)”并且“更改”按钮显示为灰色。我是否错过了启用“MS SQL Server (SqlClient)”的步骤? 是的 - 安装了 SQL Server 2008 工具。奇怪的是我也有 Visual Studio Web Developer Express,它从这里工作正常。 这很奇怪。这表明 Visual Studio 是罪魁祸首。我四处搜索并没有看到其他人遇到完全相同的问题,因此快速重新安装或(如果有该选项则进行修复)可能会有所帮助,但我绝不会建议将其作为第一步,因为它很长而且乏味。 是的 - 我开始认为这是最好的选择。 :-( 刚刚检查并修复在控制面板下的选项中,祝你好运:)!【参考方案2】:

当您创建了控制台应用程序后,在解决方案资源管理器中选择Add New Item,您应该会看到一个类似这样的对话框:

您正在寻找的是创建*.dbml 模型文件的Linq-to-SQL 类

有关 Linq-to-SQL 的非常完整和透彻的介绍,请阅读 Scott Guthrie's Using Linq to SQL 博客系列(许多帖子)。这些都适用于使用 Linq-to-SQL 与 SQL Server 对话的任何类型的应用程序。

【讨论】:

【参考方案3】:

听起来您想创建一个新的 LINQ To SQL dbml 到您的控制台应用程序,并使用 Visual Studio 的服务器资源管理器作为该过程的一部分。

像往常一样将 .dbml 添加到您的项目中。

Visual Studio 中的服务器资源管理器窗口应允许您创建新连接。确保您使用的是 SqlClient。您可以在此处输入 SQL Server 的实例名称。

【讨论】:

我在数据源下的唯一选项是:“Microsoft SQL Server 数据库文件(SqlClient)”并且“更改”按钮显示为灰色。我是否错过了启用“MS SQL Server (SqlClient)”的步骤?

以上是关于如何使用 LINQ to SQL 连接到 SQL Server?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Linq-to-SQL 的 ADO.NET 数据服务

Linq To Sql:数据库版本不兼容

EF Core Linq-to-Sql GroupBy SelectMany 不适用于 SQL Server

在Linq-to-SQL中使用WHERE子句时出错

C# Linq To SQL 插入单个大行性能问题

Linqpad - Linq to Sql Ambiguous表和链接服务器名称