• LINQ to SQL语句(24)之视图


    我们使用视图和使用数据表类似,只需将视图从“服务器资源 管理器/数据库资源管理器”拖动到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]
  • 相关阅读:
    Spring_第2章_注解开发+整合Mybatis+Junit
    做了8年前端,感谢那些优秀的后端,陪伴我工作,教会我成长
    20220809模拟
    [git] rebase 合并多个commit
    Python处理英文文档(添加音标和翻译)
    VTK 标注类Widget 文字标注 vtkCaptionWidget
    第三节:样式、选择器
    高数定理集合啦
    MySQL 数据库的增删查改 (2)
    【JavaSE】继承和多态
  • 原文地址:https://blog.csdn.net/eeeeety6208/article/details/126715576