LINQ to SQL 文档提供了多个演练。 本主题解决了一些常规演练问题(包括故障排除),并提供几个入门级演练的链接,用于了解 LINQ to SQL。
注释
本入门部分中的演练将介绍支持 LINQ to SQL 技术的基本代码。 在实际实践中,通常使用对象关系设计器和 Windows 窗体项目来实现 LINQ to SQL 应用程序。 O/R Designer 文档提供了用于此目的的示例和演练。
入门演练
本节中提供了若干演练。 这些演练基于示例 Northwind 数据库,以最小的复杂性以温和的速度呈现 LINQ to SQL 功能。
遵循的典型进展如下所示:
| 目的 | Visual Basic | C#(编程语言) | 
|---|---|---|
| 创建实体类并执行简单的查询。 | 演练:简单对象模型和查询(Visual Basic) | 演练:简单对象模型和查询(C#) | 
| 添加第二个类并执行更复杂的查询。 (需要完成前一个演练。) | 演练:跨关系查询 (Visual Basic) | 演练:跨关系查询 (C#) | 
| 在数据库中添加、更改和删除项。 | 指南:操作数据(Visual Basic) | 演练:操作数据(C#) | 
| 使用存储过程。 | 演练:仅使用存储过程 (Visual Basic) | 演练:仅使用存储过程 (C#) | 
概况
以下信息大致介绍了这些演练:
- 环境:每个 LINQ to SQL 演练都使用 Visual Studio 作为其集成开发环境(IDE)。 
- SQL 引擎:这些演练是使用 SQL Server Express 实现的。 如果没有 SQL Server Express,可以免费下载它。 有关详细信息,请参阅 下载示例数据库。 - 注释 - LINQ to SQL 演练使用文件名作为连接字符串。 指定文件名是 LINQ to SQL 为 SQL Server Express 用户提供的便利。 始终注意安全问题。 有关详细信息,请参阅 LINQ to SQL 中的安全性。 
- LINQ to SQL 演练通常需要 Northwind 示例数据库。 有关详细信息,请参阅 下载示例数据库。 
- 在演练中看到的对话框和菜单命令可能与“帮助”中所述的命令不同,具体取决于活动设置或 Visual Studio 版本。 若要更改设置,请单击“工具”菜单上的“导入和导出设置”。 有关详细信息,请参阅 个性化设置 Visual Studio IDE。 
- 对于解决多层方案的演练,服务器必须位于与开发计算机不同的计算机上,并且必须具有访问服务器的适当权限。 
- 通常表示 Northwind 示例数据库中 Orders 表的类的名称为 - [Order]。 这种转义是必需的,因为- Order是 Visual Basic 中的一个关键字。
故障排除
可能会发生运行时错误,因为你没有足够的权限访问这些演练中使用的数据库。 请参阅以下步骤来帮助解决这些问题的最常见问题。
登录问题
您的应用程序可能正在尝试通过未被接受的数据库登录来访问数据库。
验证或更改数据库登录名
- 在 Windows “开始 ”菜单上,指向 “所有程序”, Microsoft SQL Server 2005,指向 “配置工具”,然后单击“ SQL Server 配置管理器”。 
- 在 SQL Server Configuration Manager 的左窗格中,单击 “SQL Server 2005 服务”。 
- 在右窗格中,右键单击 SQL Server (SQLEXPRESS),然后单击“ 属性”。 
- 单击“ 登录 ”选项卡,验证尝试如何登录到服务器。 - 在大多数情况下, 本地系统 工作。 - 如果进行更改,请单击“ 重启 ”以重启服务。 
协议
有时,可能无法正确设置协议,以便应用程序访问数据库。 例如,默认情况下不会启用 LINQ to SQL 中的演练所需的 命名管道 协议。
启用 Named Pipes 协议
- 在 SQL Server Configuration Manager 的左窗格中,展开 SQL Server 2005 网络配置,然后单击 SQLEXPRESS 的协议。 
- 在右窗格中,确保已启用 命名管道 协议。 如果不是,请右键单击 “名称管道 ”,然后单击“ 启用”。 - 必须停止并重启服务。 请按下一部分中的步骤操作。 
停止和重启服务
在更改生效之前,必须停止和重启服务。
停止并重新启动服务
- 在 SQL Server Configuration Manager 的左窗格中,单击 “SQL Server 2005 服务”。 
- 在右窗格中,右键单击 SQL Server (SQLEXPRESS),然后单击“ 停止”。 
- 右键单击 SQL Server (SQLEXPRESS),然后单击“ 重启”。