演练:创建 Adventure Works 销售模型和查询 (C#)

本演练提供了复杂性最小的基本端对端 LINQ to Entities 方案。您将创建 AdventureWorks 销售模型,其中包含基于 AdventureWorks 示例数据库中的 Address、Contact、Product、SalesOrderHeader 和 SalesOrderDetail 表的实体和关联。然后,您将创建一个简单查询来列出 AdventureWorks 库存中的所有红色产品。

clear.gif 系统必备

本演练需要 AdventureWorks 示例数据库。如果您的开发计算机上没有此数据库,您可以从 CodePlex 网站的 Microsoft SQL Server Community & Samples(Microsoft SQL Server 社区和示例)网页上下载该数据库。

clear.gif 概述

本演练由 4 项主要任务组成:

  • 在 Visual Studio 2008 中创建 LINQ to Entities 解决方案。

  • 创建 AdventureWorks 销售模型。

  • 创建对该销售模型运行的简单查询。

  • 执行查询并观察结果。

clear.gif 创建 LINQ to Entities 解决方案

在这第一项任务中,您将创建一个 Visual Studio 解决方案,其中包含生成和运行 LINQ to Entities 项目所必需的引用。

创建 C# LINQ to Entities 解决方案
  1. 在 Visual Studio “文件”菜单上,指向“新建”,再单击“项目”

  2. “新建项目”对话框的“项目类型”窗格中,单击“Visual C#”

  3. 从下拉菜单中选择“.NET Framework 3.5”

  4. “模板”窗格中,单击“控制台应用程序”

  5. “名称”框中,键入“LinqToEntitesConsoleApp”

  6. “位置”框中,选择用于存储项目文件的位置,再单击“确定”

  7. “项目”菜单上,单击“添加引用”,单击“.NET”选项卡,单击“System.Data.Entity”程序集,然后单击“确定”

  8. 在源代码文件中添加用于 System.Data.Objects 命名空间的 using 指令。

clear.gif 创建 AdventureWorks 销售模型

在此任务中,您将使用 实体数据模型 向导创建 AdventureWorks 销售模型,并在项目中引用该模型。

创建并引用 AdventureWorks 销售模型
  1. “项目”菜单上单击“添加新项”

  2. “添加新项”对话框的“模板”窗格中,选择“ADO.NET 实体数据模型”。将模型命名为“AdventureWorksSalesModel”,然后单击“添加”

  3. “选择模型内容”对话框中,选择“从数据库生成”,然后单击“下一步”

  4. “选择您的数据连接”窗口中,从列表中选择现有 AdventureWorks 连接,或者创建一个到具有 AdventureWorks 示例数据库的 SQL Server 实例的连接。

  5. 将 App.Config 中的实体连接设置另存为“AdventureWorksEntities”,然后单击“下一步”

  6. “选择数据库对象”对话框中,清除所有对象,展开“表”,然后选择以下表对象:

    • Address (Person)

    • Contact (Person)

    • Product (Production)

    • SalesOrderDetail (Sales)

    • SalesOrderHeader (Sales)

  7. 将此模型命名空间命名为“AdventureSalesWorksModel”,然后单击“完成”

  8. “模型浏览器”视图打开,其中显示 AdventureWorks 销售模型中的实体。单击保存按钮,然后选择“Program.cs”选项卡转回源代码。

  9. 在源文件中添加用于“AdventureWorksSalesModel”using 语句。

clear.gif 创建简单查询

此步骤中,您将创建一个查询来查找 AdventureWorks 库存中的红色产品。如果将查询设计为返回一系列值,则查询变量仅存储查询命令。查询的实际执行将推迟到在 foreach 循环中循环访问查询变量之后进行。这种方法称为“延迟执行”。有关更多信息,请参见查询执行

创建简单查询
  • 将下面的代码键入或粘贴到 Main 方法中。

C#

clear.gif 复制代码

using (AdventureWorksEntities AWEntities = new AdventureWorksEntities())
{
    ObjectQuery<Product> products = AWEntities.Product;

    IQueryable<Product> query =
        from product in products
        where product.Color == "Red"
        select product;

    foreach (Product product in query)
    {
        Console.WriteLine("Name: {0}", product.Name);
        Console.WriteLine("Product number: {0}", product.ProductNumber);
        Console.WriteLine("List price: ${0}", product.ListPrice);
        Console.WriteLine("");
    }
}

//Prevent the console window from closing.
Console.WriteLine("Hit Enter...");
Console.Read();

clear.gif 执行查询

在此步骤中,您将实际执行查询。您在前面步骤中创建的查询表达式只有在需要结果时才会进行计算。当您开始 foreach 迭代时,将对 AdventureWorks 销售模型执行查询,并且结果将具体化。

执行查询
  1. 按 F5 以调试模式执行应用程序。

  2. 查询结果应出现在控制台窗口中。

  3. 在控制台窗口中按 Enter 关闭应用程序。

clear.gif 另请参见

任务
如何:使用实体数据模型向导(实体框架)
概念
LINQ to Entities 概述

转载于:https://www.cnblogs.com/bitstudio/archive/2009/03/30/1424737.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文字冒险是一种以文字为基础的游戏体验,玩家通过阅读描述和输入指令的方式进行游戏。这种游戏常常让玩家在一个虚拟世界中扮演主角,通过与游戏中的角色互动解决问题,达到完成故事情节的目标。 在一个文字冒险游戏中,玩家将通过阅读游戏中的文字描述了解游戏世界的背景、情节以及所处的环境。根据游戏情节的发展,玩家需要利用自己的想象力和逻辑推理能力来解决游戏中的谜题和困难。玩家通过输入指令来控制主角进行行动,例如“向前走”、“拿起钥匙”等等。游戏会根据玩家输入的指令进行相应的反馈,继续推动故事情节的发展。 文字冒险游戏依赖于玩家的想象力和阅读理解能力。玩家需要根据游戏中描述的场景和物品来确定下一步行动,同时还需要运用逻辑思维来解决谜题。由于文字冒险游戏没有图像或声音的辅助,玩家必须通过想象力来构建游戏世界,这种体验带来了无限的可能性和创造力。 文字冒险游戏曾经是游戏界的热门类型,尤其在早期个人电脑的时代。随着技术的进步,图形化和声音化的游戏体验逐渐成为主流,文字冒险游戏的人气有所下降。然而,一些游戏开发者仍然推出新的文字冒险游戏,以保留这种传统游戏形式的魅力。 总的来说,文字冒险游戏是一种让玩家通过阅读和输入指令的方式与虚拟世界进行互动的游戏。这种游戏体验依赖于玩家的想象力和阅读理解能力,带来了独特的创造力和挑战。即使在图形化游戏主导的时代,文字冒险游戏仍然保留着一定的市场和受众。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值