- 2
- 0
- 约5.85千字
- 约 5页
- 2018-07-01 发布于河南
- 举报
EntityFramework学习初级篇3--LINQTOEntities2011-01-28
LINQ?技术(即?LINQ to Entities)使开发人员能够通过使用?LINQ?表达式和?LINQ?标准查询运算符,直接从开发环境中针对 实体框架对象上下文创建灵活的强类型查询。LINQ to Entities?查询使用对象服务基础结构。ObjectContext?类是作为?CLR?对象与 实体数据模型 进行交互的主要类。开发人员通过?ObjectContext?构造泛型?ObjectQuery?实例。ObjectQuery?泛型类表示一个查询,此查询返回一个由类型化实体组成的实例或集合。返回的实体对象可供更新并位于对象上下文中。以下是创建和执行?LINQ to Entities?查询的过程:
1.?????从?ObjectContext?构造?ObjectQuery?实例。
2.?????通过使用?ObjectQuery?实例在?C#?或?Visual Basic?中编写?LINQ to Entities?查询。
3.?????将?LINQ?标准查询运算符和表达式将转换为命令目录树。
4.?????对数据源执行命令目录树表示形式的查询。执行过程中在数据源上引发的任何异常都将直接向上传递到客户端。
5.?????将查询结果返回到客户端。
一、Linq To Entities简单查询
下面将介绍简单的Linq To Entities查询,相关的查询语法可以使用基于表达式或基于方法的语法。本节使用的TestDriver.Net配合Nunit2.4进行测试。
1,??投影
代码如下:
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Data.Objects;
using?NUnit.Framework;
namespace?NorthWindModel
{
????[TestFixture]
????public?class?TestEFModel
????{
????????[Test]
????????public?void?Select()
????????{
????????????using?(var?edm =?new?NorthwindEntities())
????????????{
????????????????//基于表达式的查询语法
????????????????ObjectQueryCustomers customers = edm.Customers;
????????????????IQueryableCustomers cust1 =?from?c?in?customers
??????????????????????????????????????????????select?c;
????????????????Assert.Greater(cust1.Count(), 0);
????????????????//使用ObjectQuery类的ToTraceString()方法显示查询SQL语句
????????????????Console.WriteLine(customers.ToTraceString());
?
?
????????????}
????????}
????}
}
输出:
SELECT
[Extent1].[CustomerID] AS [CustomerID],
[Extent1].[CompanyName] AS [CompanyName],
[Extent1].[ContactName] AS [ContactName],
[Extent1].[ContactTitle] AS [ContactTitle],
[Extent1].[Address] AS [Address],
[Extent1].[City] AS [City],
[Extent1].[Region] AS [Region],
[Extent1].[PostalCode] AS [PostalCode],
[Extent1].[Country] AS [Country],
[Extent1].[Phone] AS [Phone],
[Extent1].[Fax] AS [Fax]
FROM [dbo].[Customers] AS [Extent1]
?
1 passed, 0 failed, 0 skipped, took 11.00 seconds (NUnit 2.4).
在上面的输出内容中,可以看到使用了ToTraceString()方法来输出具体的SQL语句。同时Nunit也输出相关的测试情况,请注意查询所花费的时间,以便我们进行查询速度的分析比较。
2,??条件限制
u
您可能关注的文档
- 初三数学圆中的计算问题(B卷)(含解答)-.doc
- 数学近3年江苏高考试题汇编.doc
- 风的测量001.ppt
- 安全讲义1.ppt
- 2011石家庄市高中毕业班复习教学质量检测(一).doc
- 为Web工程添加Axis支持.doc
- 探索有关直线交点个数作图的思维方法.ppt
- 萌芽书友会章程新.doc
- 2010年泉州电子竞赛赛题和知识竞赛题泉州中学电子知识竞赛答卷.doc
- 人七第七章三角形整章测试(A).doc
- 房地产 -2026年英国房地产市场展望 UK Real Estate Market Outlook 2026.pdf
- 金太阳湖南省2025-2026学年高一上学期12月联考政治(26-201A)(含答案).docx
- 公路水运工程生产安全重大事故隐患判定标准含图解图集.docx
- 辽宁省县级重点高中协作体高三期末质量监测物理试题及答案.docx
- 传统大型国企如何实施IT运维SRE转型.pptx
- 重庆实验外国语学校2025-2026学年度(上)高2026届1月期末考试生物(七)(含答案).docx
- 重庆实验外国语学校2025-2026学年度(上)高2026届1月期末考试地理(七)(含答案).docx
- 互联网:人工智能算力革命赋能,迈入行业黄金发展期.docx
- 房地产 -2025年第四季度法国零售数据 France Retail Figures Q4 2025.pdf
- 房地产 -2025Q3成都写字楼与零售市场概况.pdf
原创力文档

文档评论(0)