string

esql =

"select value c from NorthwindEntities.Customers as c order by

c.CustomerID limit 10"

;

ObjectQuery

<

Customers

> query = edm.CreateQuery<

Customers

>(esql);

Console

.WriteLine(query.GetResultType().ToString());

//

输出结果为:

//NorthWindModel.Customers

}

ToTraceString

方法:

获取当前执行的

SQL

语句。

Where

实例代码如下:

using

(

var

edm =

new

NorthwindEntities

())

{

string

esql =

"select value c from NorthwindEntities.Customers as c "

;

ObjectQuery

<

Customers

> query1 = edm.CreateQuery<

Customers

>(esql);

//

使用

ObjectParameter

的写法

query1 = query1.Where(

"it.CustomerId=@customerid"

);

query1.Parameters.Add(

new

ObjectParameter

(

"customerid"

,

"ALFKI"

));

//

也可以这样写

//ObjectQuery<Customers> query2 = edm.Customers.Where("it.CustomerID='ALFKI'");

foreach

(

var

c

in

query1)

Console

.WriteLine(c.CustomerID);

//

显示查询执行的

SQL

语句

Console

.WriteLine(query1.ToTraceString());

}

First/ FirstOrDefault

实例代码如下:

using

(

var

edm =

new

NorthwindEntities

())

{

string

esql =

"select value c from NorthwindEntities.Customers as c order by

c.CustomerID limit 10"

;

 

ObjectQuery

<

Customers

> query = edm.CreateQuery<

Customers

>(esql);

Customers

c1 = query.First();

Customers

c2 = query.FirstOrDefault();

Console

.WriteLine(c1.CustomerID);

Assert

.IsNotNull(c2);

Console

.WriteLine(c2.CustomerID);

}

Distinct

实例代码如下:

using

(

var

edm =

new

NorthwindEntities

())

{

string

esql =

"select value c.City from NorthwindEntities.Customers as c order by

c.CustomerID limit 10"

;

ObjectQuery

<

string

> query = edm.CreateQuery<

string

>(esql);

query = query.Distinct();

foreach

(

string

c

in

query)

{

Console

.WriteLine(

"City {0}"

, c);

}

}

Except:

返回两个查询的差集。实例代码如下:

using

(

var

edm =

new

NorthwindEntities

())

{

string

esql1 =

"select value c from NorthwindEntities.Customers as c order by

c.CustomerID limit 10"

;

ObjectQuery

<

Customers

> query1 = edm.CreateQuery<

Customers

>(esql1);

string

esql2 =

"select value c from NorthwindEntities.Customers as c where

c.Country='UK' order by c.CustomerID limit 10"

;

ObjectQuery

<

Customers

> query2 = edm.CreateQuery<

Customers

>(esql2);

query1 = query1.Except(query2);

EF ObjectQuery查询及方法的更多相关文章

  1. ObjectQuery查询及方法

    ObjectQuery 类支持对 实体数据模型 (EDM) 执行 LINQ to Entities 和 Entity SQL 查询.ObjectQuery 还实现了一组查询生成器方法,这些方法可用于按 ...

  2. EF – 3.EF数据查询基础(下)数据关联

    5.5.1 <关于“数据关联”,你不一定清楚的事> 这讲视频比较全面地介绍了“一对一”.“一对多”和“多对多”三种数据关联类型在关系数据库和Entity Framework数据模型中的实现 ...

  3. EF联合查询的新用法

    用EF很多年了,做联合查询时,只知道linq和lambda两种语法,今天朋友发了一个链接,打开看后发现是EF内置的新的关于联合查询的方法,赶紧抄录下来,以备后用. 现在先把这几种方法,各写一个例子,便 ...

  4. Entity Framework 学习初级篇5--ObjectQuery查询及方法

    ObjectQuery 类支持对 实体数据模型 (EDM) 执行 LINQ to Entities 和 Entity SQL 查询.ObjectQuery 还实现了一组查询生成器方法,这些方法可用于按 ...

  5. 讨论过后而引发对EF 6.x和EF Core查询缓存的思考

    前言 最近将RabbitMQ正式封装引入到.NET Core 2.0项目当中,之前从未接触过是个高大上的东东跟着老大学习中,其中收获不少,本打算再看看RabbitMQ有时间写写,回来后和何镇汐大哥探讨 ...

  6. 匿名类型 使用泛型T linq返回dynamic类型的匿名实体 如何把匿名类型.GetType()返回的对象传进泛型里面 EF实体查询出的数据List<T>转DataTable出现【DataSet 不支持 System.Nullable<>】的问题

    [100分]紧急求助:LinQ下使用IQueryable<T>如何将返回类型<T>使用匿名类型 问题描述如下:我有一个方法如下:public IQueryable Dissen ...

  7. ASP.NET Core 使用 EF 框架查询数据 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 使用 EF 框架查询数据 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 使用 EF 框架查询数据 上一章节我们学习了如何设置 ...

  8. SQO (标准查询运算符)方法 & Linq To Object

    #region SQO (标准查询运算符) 方法 #region Where() Find() FindAll() FirstOrDefault()等方法 static void c01where() ...

  9. Oracle 特殊字符模糊查询的方法

    最近在写DAO层的时候,遇到一个问题,就是使用like进行模糊查询时,输入下划线,无法精确查到数据,而是返回所有的数据. 这让我很好奇,百度之后才发现,原来是因为有些特殊字符需要进行转义才可以进行查询 ...

随机推荐

  1. latex 输入矩阵

    %以下函数可以写矩阵 %这个是放括号的矩阵 $A=\begin{bmatrix} 1&3\\ 3&3 \end{bmatrix}$ %这个是圆括号的矩阵 $A=\begin{pmatr ...

  2. Umbraco -- 在Visual Studio中新建一个View 如何在Umbraco back office 中显示出来

    在使用Umbraco中的过程中,遇到一个问题. 我在项目中(Visual Studio),添加了一个View---Test.cshtml. 然后进入到该Umbraco项目的back office, 在 ...

  3. Python开发【第六篇】:文件处理

    1. 文件   文件处理流程: 打开文件,获得文件句柄,并赋值 通过句柄对文件进行操作 关闭文件 1.1 打开文件   在 Python 中使用 open()函数打开文件,并返回文件对象: open( ...

  4. The instance of entity type 'xxxx' cannot be tracked because another instance with the same key value for {'Id'} is already being tracked.

    一.问题描述 问题:The instance of entity type 'xxxx' cannot be tracked because another instance with the sam ...

  5. IdentityServer4 学习笔记[1]-客户端授权

    前言 本文内容来自IdentityServer4官网,官网有详细的介绍,并且有源码Demo 官网源码例子传送门 建立授权服务端 我们暂时不配置Https,选择空模板建立项目,项目建立后, 为了查看de ...

  6. tp5分页注意,分页生成的ul class是pagination,有些模板可能将pagination定义为display:none

    今天在调用分页时总是无法显示,查看网页源代码是正常的,后来发现是在css文件里将pagination定义为display:none,所以无法显示

  7. POJ1442 Black Box 堆

    用大根堆和小根堆分别存放前$i-1$大的元素前$k-i$小的元素. 将当前序列的元素压入最小堆,如果最小堆的最小数大于最大堆的最大数则进行交换,保证最大堆中的所有数小于最小堆. 因为$i$值每进行一次 ...

  8. django--权限(1)初识

    一.权限表结构设计 1.认识权限 生活中处处有权限,比如,腾讯视频开会员才有观看某个最新电影的权限,你有房间钥匙就有了进入这个房间的权限,等等.同样,程序开发过程中也有权限,我们今天说的权限指的是we ...

  9. netstat命令怎么查看端口是否占用

    转自:http://www.ahlinux.com/start/cmd/527.html netstat命令是一个监控TCP IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接 ...

  10. Spring Boot 测试 junit

    import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.ann ...