O/R 设计器概述
对象关系设计器(O/R 设计器)提供了一个可视化设计图面,用于创建基于数据库中对象的 LINQ to SQL [LINQ to SQL] 实体类和关联(关系)。换句话说,O/R 设计器用于在应用程序中创建映射到数据库中的对象的对象模型。它还生成一个强类型 DataContext,用于在实体类与数据库之间发送和接收数据。O/R 设计器还提供了相关功能,用于将存储过程和函数映射到 DataContext 方法以便返回数据和填充实体类。最后,O/R 设计器提供了对实体类之间的继承关系进行设计的能力。
O/R 设计器生成在 LINQ to SQL 类和数据库对象之间提供映射的 .dbml 文件。O/R 设计器还生成类型化的 DataContext 和实体类。
O/R 设计器的设计图面有两个不同的区域:左侧的实体窗格和右侧的方法窗格。实体窗格是主设计图面,其中显示实体类、关联和继承层次结构。方法窗格是显示映射到存储过程和函数的 DataContext 方法的设计图面。
注意 |
---|
O/R 设计器当前仅支持 SQL Server 2000、SQL Server 2005、SQL Server 2008 和 SQL Server Express 数据库。虽然 O/R 设计器不支持 SQL Server Compact 3.5,但 LINQ to SQL 支持。有关更多信息,请参见 SQL Server Compact 与 LINQ to SQL。有关如何获取 SQL Server Express 的信息,请参见如何:安装示例数据库主题中的“获取 SQL Server Express”一节。 |
打开 O/R 设计器
通过在项目中添加新的**“LINQ to SQL 类”**项,可以打开 O/R 设计器。有关详细信息,请参见如何:向项目中添加 LINQ to SQL 类(O/R 设计器)。
重要提示 |
---|
O/R 设计器是一个简单的对象关系映射器,因为它仅支持 1:1 映射关系。换句话说,实体类与数据库表或视图之间只能具有 1:1 映射关系。当前不支持复杂映射(例如,将实体类映射到联接表)。此外,该设计器还是一个单向代码生成器。这表示代码文件中只反映对设计器图面所做的更改。O/R 设计器中不会反映对代码文件的手动更改。在保存设计器并重新生成代码时,将覆盖在代码文件中手动进行的所有更改。有关如何添加用户代码和扩展由 O/R 设计器生成的类的信息,请参见如何:扩展 O/R 设计器生成的代码。 |
创建和配置 DataContext
向项目中添加**“LINQ to SQL 类”**项并打开 O/R 设计器后,空设计图面表示一个可供配置的空 DataContext。DataContext 是使用拖动到设计图面上的第一项所提供的连接信息进行配置的。因此,DataContext 是使用放置到设计图面上的第一项中的连接信息进行配置的。有关 DataContext 类的更多信息,请参见 DataContext 方法(O/R 设计器)。
创建映射到数据库表和视图的实体类
通过将数据库表和视图从**“服务器资源管理器”/“数据库资源管理器”**拖动到 O/R 设计器上,可以创建映射到表和视图的实体类。正如上一节中所述,DataContext 是使用拖动到设计图面上的第一项所提供的连接信息进行配置的。如果将一个使用不同连接的后续项添加到 O/R 设计器中,您可以更改 DataContext 的连接。有关更多信息,请参见如何:创建映射到表和视图的 LINQ to SQL 类(O/R 设计器)。
创建调用存储过程和函数的 DataContext 方法
可以通过将存储过程和函数从**“服务器资源管理器”/“数据库资源管理器”**拖动到 O/R 设计器上来创建调用(映射到)这些存储过程和函数的 DataContext 方法。存储过程和函数作为 DataContext 的方法添加到 O/R 设计器中。
注意 |
---|
将存储过程和函数从“服务器资源管理器”/“数据库资源管理器”拖动到 O/R 设计器上时,生成的 DataContext 方法的返回类型取决于项的放置位置。有关更多信息,请参见 DataContext 方法(O/R 设计器)。 |
配置 DataContext 以使用存储过程来保存实体类和数据库之间的数据
如上文所述,您可以创建调用存储过程和函数的 DataContext 方法。此外,您还可以分配执行插入、更新和删除操作的默认 LINQ to SQL 运行时行为可以使用的存储过程。有关更多信息,请参见如何:分配存储过程以执行更新、插入和删除(O/R 设计器)。
继承和 O/R 设计器
像其他对象一样,LINQ to SQL 类也可以使用继承,并可从其他类派生。在数据库中,可通过多种方法创建继承关系。O/R 设计器支持通常在关系系统中实现的单表继承概念。有关更多信息,请参见如何:使用 O/R 设计器配置继承。
LINQ to SQL 查询
由 O/R 设计器创建的实体类专供LINQ(语言集成查询) 使用。有关更多信息,请参见如何:查询信息。
将生成的 DataContext 和实体类代码分离到不同的命名空间
O/R 设计器为 DataContext 提供了**“上下文命名空间”和“实体命名空间”属性。这些属性决定 DataContext 和实体类代码生成到哪个命名空间。默认情况下,这些属性为空并且 DataContext 和实体类生成到应用程序的命名空间。若要在除应用程序的命名空间以外的命名空间中生成代码,请在“上下文命名空间”和/或“实体命名空间”**属性中输入一个值。
请参阅
任务
概念
操作的数据在Visual Studio中开发应用程序是新的2012年