Welcome 微信登录

首页 / 网页编程 / ASP.NET / Entity Framework学习初级篇3--LINQ TO Entities

Entity Framework学习初级篇3--LINQ TO Entities2010-02-05 博客园 ♂风车车.NetLINQ 技术(即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())

{

//基于表达式的查询语法

ObjectQuery<Customers> customers = edm.Customers;

IQueryable<Customers> cust1 = from c in customers

select c;

Assert.Greater(cust1.Count(), 0);

//使用ObjectQuery类的ToTraceString()方法显示查询SQL语句

Console.WriteLine(customers.ToTraceString());


}

}

}

}