博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
光脚丫学LINQ(017):[演练]跨关系查询(C#):手动编码
阅读量:533 次
发布时间:2019-03-08

本文共 7415 字,大约阅读时间需要 24 分钟。

视频演示:

 

本演练演示如何使用 LINQ to SQL 关联来表示数据库中的外键关系。

此演示是建立在前一个演示的基础上。,你可以通过这个链接转到前一个演示。

跨表映射关系

在 Customer 类定义的后面,创建包含如下代码的 Order 实体类定义,这些代码表示 Order.Customer 作为外键与 Customer.CustomerID 相关。
在 Customer 类后面键入或粘贴如下代码:

 

对Customer类进行批注

在此步骤中,您要对 Customer 类进行批注,以指示它与 Order 类的关系。 (这种添加批注的操作并非绝对必需的,因为定义任一方向上的关系都足以满足创建链接的需要。 但添加此批注确实便于您在任一方向上定位对象。)
将下面的代码键入或粘贴到 Customer 类中:

跨 Customer-Order 关系创建并运行查询
现在您可以直接从 Customer 对象访问 Order 对象,或反过来进行访问。 您不需要在客户和订单之间具有显式联接。
使用Customer对象访问Order对象
1、 通过将下面的代码键入或粘贴到 Main 方法中修改此方法:

 

2、 按 F5 调试应用程序。

 说明
您可以通过注释掉 db.Log = Console.Out; 来消除控制台窗口中的 SQL 代码。
3、 在控制台窗口中按 Enter,以停止调试。

 

创建数据库的强类型化视图

从数据库的强类型化视图着手要容易得多。 通过将 DataContext 对象强类型化,您无需调用 GetTable。 当您使用强类型化的 DataContext 对象时,您可以在所有查询中使用强类型化表。
在以下步骤中,您将创建 Customers 作为映射到数据库中的 Customers 表的强类型化表。
对 DataContext 对象进行强类型化
1、 将下面的代码添加到 Customer 类声明的上方。

 

2、 将 Main 方法修改为使用强类型化的 DataContext,如下所示:

 

 

完整的演示代码如下:

Program.cs

 

Northwind.cs

转载地址:http://sntiz.baihongyu.com/

你可能感兴趣的文章