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. JavaScript学习系列2一JavaScript中的变量作用域

    在写这篇文章之前,再次提醒一下 JavaScript 是大小写敏感的语言 // 'test', 'Test', 'TeSt' , 'TEST' 是4个不同的变量名 JavaScript中的变量,最重要 ...

  2. 【OpenGL】Shader概述

    目录(?)[-] 综述 编译一个Shader 链接一个Shader 删除一个Shader 指定使用一个Shader Program 删除一个Shader Program 备注 这篇文章讲述了Shade ...

  3. Codeforces Round #279 (Div. 2) C. Hacking Cypher (大数取余)

    题目链接 C. Hacking Cyphertime limit per test1 secondmemory limit per test256 megabytesinputstandard inp ...

  4. C#在Linux上的开发指南

    本人才疏学浅,在此记录自己用C#在Linux上开发的一点经验,写下这篇指南.(给想要在Linux上开发C#程序的朋友提供建议) 目前在Linux上跑的网站:http://douxiubar.com | ...

  5. Java基础笔记(十六)——继承

    继承 提取出一些共性特征,作为父类,子类就可以继承父类的这些开放成员,子类再添加自己独有的属性和方法.如果再有类具有这些共同特征,也可继承这个父类. 特点:1.利于代码复用     2.缩短开发周期 ...

  6. jmeter csv中获取带引号的数据详情(转)

    最近在工作中,对jmeter实践的点滴的记录这里分享,不一定正确,仅供参考和讨论,有想法的欢迎留言.谈论. 1技巧1:从csv中获取带引号的数据详情 背景:我们从csv中获取数据,在jmeter中使用 ...

  7. Restful 3 -- 序列化组件(GET/PUT/DELETE接口设计)、视图优化组件

    一.序列化组件 基于上篇随笔的表结构,通过序列化组件的ModelSerializer设计如下三个接口: GET 127.0.0.1:8000/books/{id} # 获取一条数据,返回值:{} PU ...

  8. Linux命令发送Http的get或post请求(curl和wget两种方法)

    Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...

  9. java日期与时间戳相互转换大全

    转载大神 https://blog.csdn.net/djc777/article/details/50904989/

  10. devtools实现springboot的热部署

    spring-boot-devtools介绍: spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原理是在发现代码有更改 ...