LINQ to SQL语句(24)之视图

30 篇文章 0 订阅

http://www.prg-cn.com/article-4425-1.html

视图

我们使用视图和使用数据表类似,只需将视图从“服务器资源 管理器/数据库资源管理器”拖动到O/R 设计器上,自动可以创建基于这些 视图的实体类。我们可以同操作数据表一样来操作视图了。这里注意:O/R 设计 器是一个简单的对象关系映射器,因为它仅支持 1:1 映射关系。换句话说,实 体类与数据库表或视图之间只能具有 1:1 映射关系。不支持复杂映射(例如, 将一个实体类映射到多个表)。但是,可以将一个实体类映射到一个联接多个相 关表的视图。 下面使用NORTHWND数据库中自带的Invoices、Quarterly Orders 两个视图为例,写出两个范例。

查询:匿名类型形式

我们使用下面代 码来查询出ShipCity 在London的发票。

  1. var q =
  2.   from i in db.Invoices
  3.   where i.ShipCity == "London"
  4.   select new
  5.   {
  6.     i.OrderID,
  7.      i.ProductName,
  8.     i.Quantity,
  9.     i.CustomerName
  10.   };
复制代码

这里,生成的SQL语句同使用数据表类似:

  1. SELECT [t0].[OrderID], [t0].[ProductName], [t0]. [Quantity],
  2. [t0].[CustomerName] FROM [dbo].[Invoices] AS [t0]
  3. WHERE [t0].[ShipCity] = @p0
  4. -- @p0: Input NVarChar (Size = 6; Prec = 0; Scale = 0) [London]
复制代码

查询:标识映射形式

下例查询出每 季的订单。

  1. var q =
  2.   from qo in db.Quarterly_Orders
  3.   select qo;
复制代码

生成SQL语句为:

  1. SELECT [t0].[CustomerID], [t0].[CompanyName], [t0]. [City],
  2. [t0].[Country] FROM [dbo].[Quarterly Orders] AS [t0]
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值