演练:使用单表继承创建 LINQ to SQL 类(O/R 设计器)
Visual Studio 中的 LINQ to SQL 工具支持通常在关系系统中实现的单表继承。 本演练针对如何:使用 O/R 设计器配置继承主题中提供的一般步骤进行扩展,并提供了一些真实数据来演示 O/R 设计器中继承的使用。
在本演练期间,你将要执行以下任务:
创建一个数据库表,并向其中添加数据。
创建一个 Windows 窗体应用程序。
将 LINQ to SQL 文件添加到项目中。
创建新的实体类。
配置实体类使用继承。
查询继承类。
在 Windows 窗体上显示数据。
创建要从中继承的表
要了解继承的工作原理,请创建一个小的 Person
表,将其用作基类,然后创建一个从该表继承的 Employee
对象。
创建基表以演示继承
在服务器资源管理器或数据库资源管理器中,右键单击表节点,然后单击添加新表。
注意
可以使用 Northwind 数据库或其他任何可添加表的数据库。
在表设计器中,向该表中添加以下列:
列名 数据类型 允许 Null 值 ID int False 类型 int True 名字 nvarchar(200) False 姓氏 nvarchar(200) False 管理员 int True 将 ID 列设置为主键。
保存该表并将其命名为 Person。
向表中添加数据
为了验证对继承的配置是否正确,表对于单表继承中的每个类都需要一些数据。
向表中添加数据。
在数据视图中打开该表。 (在服务器资源管理器或数据库资源管理器中右键单击 Person 表,然后单击显示表数据。)
将下面的数据复制到表中。 (通过在结果窗格中选择整行,将数据复制并粘贴到表中。)
ID 类型 名字 姓氏 管理员 1 1 Anne Wallace NULL 2 1 Carlos Grilo NULL 3 1 Yael Peled NULL 4 2 Gatis Ozolins 1 5 2 Andreas Hauser 1 6 2 Tiffany Phuvasate 1 7 2 Alexey Orekhov 2 8 2 Michał Poliszkiewicz 2 9 2 Tai Yee 2 10 2 Fabricio Noriega 3 11 2 Mindy Martin 3 12 2 Ken Kwok 3
创建新项目
至此,表已经创建完毕,下面创建一个新项目演示对继承的配置。
创建新的 Windows 窗体应用程序
在 Visual Studio 的文件菜单中,依次选择新建>项目。
在左侧窗格中展开 Visual C# 或 Visual Basic,然后选择 Windows 桌面。
在中间窗格中,选择 Windows 窗体应用项目类型。
将项目命名为 InheritanceWalkthrough,然后选择确定。
InheritanceWalkthrough 项目即被创建并添加到解决方案资源管理器中。
将 LINQ to SQL 类文件添加到项目
将 LINQ to SQL 文件添加到项目
在 “项目” 菜单上,单击 “添加新项”。
单击 LINQ to SQL 类模板,然后选择添加。
.dbml
文件将添加到项目中,O/R 设计器会打开。
使用 O/R 设计器创建继承
通过将“继承”对象从“工具箱”拖动到设计图面来配置继承。
创建继承
在服务器资源管理器或数据库资源管理器中,导航到之前创建的 Person 表。
将 Person 表拖到 O/R 设计器设计图面上。
将第二个 Person 表上拖到 O/R 设计器上,并将其名称更改为 Employee。
从“Person”对象删除“Manager”属性。
从“Employee”对象删除“Type”、“ID”、“FirstName”和“LastName”属性。 (即删除“Manager”以外的所有属性。)
从“工具箱”的“对象关系设计器”选项卡上,在“Person”和“Employee”对象之间创建“继承”。 为此,请单击“工具箱”中的“继承”项,然后松开鼠标按钮。 接下来,在 O/R 设计器中依次单击 Employee 对象和 Person 对象。 然后继承行上的箭头指向 Person 对象。
单击设计图面上的“继承”连线。
将“鉴别器属性”属性设置为“Type”。
将“派生类鉴别器值”属性设置为“2”。
将“基类鉴别器值”属性设置为“1”。
将“继承默认值”属性设置为“Person”。
生成项目。
查询继承类并在窗体上显示数据
现在向窗体添加一些代码,用于在对象模型中查询特定的类。
创建一个 LINQ 查询并在窗体上显示结果
将一个“ListBox”拖动到 Form1 上。
双击窗体以创建
Form1_Load
事件处理程序。将以下代码添加到
Form1_Load
事件处理程序中:
测试应用程序
运行应用程序并检验列表框中显示的记录是否全为员工(“Type”列值为 2 的记录)。
测试应用程序
按 F5。
检验是否仅显示了“Type”列值为 2 的记录。
关闭窗体。 (在调试菜单上,单击停止调试。)