EF ObjectQuery查询及方法
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查询及方法的更多相关文章
- ObjectQuery查询及方法
ObjectQuery 类支持对 实体数据模型 (EDM) 执行 LINQ to Entities 和 Entity SQL 查询.ObjectQuery 还实现了一组查询生成器方法,这些方法可用于按 ...
- EF – 3.EF数据查询基础(下)数据关联
5.5.1 <关于“数据关联”,你不一定清楚的事> 这讲视频比较全面地介绍了“一对一”.“一对多”和“多对多”三种数据关联类型在关系数据库和Entity Framework数据模型中的实现 ...
- EF联合查询的新用法
用EF很多年了,做联合查询时,只知道linq和lambda两种语法,今天朋友发了一个链接,打开看后发现是EF内置的新的关于联合查询的方法,赶紧抄录下来,以备后用. 现在先把这几种方法,各写一个例子,便 ...
- Entity Framework 学习初级篇5--ObjectQuery查询及方法
ObjectQuery 类支持对 实体数据模型 (EDM) 执行 LINQ to Entities 和 Entity SQL 查询.ObjectQuery 还实现了一组查询生成器方法,这些方法可用于按 ...
- 讨论过后而引发对EF 6.x和EF Core查询缓存的思考
前言 最近将RabbitMQ正式封装引入到.NET Core 2.0项目当中,之前从未接触过是个高大上的东东跟着老大学习中,其中收获不少,本打算再看看RabbitMQ有时间写写,回来后和何镇汐大哥探讨 ...
- 匿名类型 使用泛型T linq返回dynamic类型的匿名实体 如何把匿名类型.GetType()返回的对象传进泛型里面 EF实体查询出的数据List<T>转DataTable出现【DataSet 不支持 System.Nullable<>】的问题
[100分]紧急求助:LinQ下使用IQueryable<T>如何将返回类型<T>使用匿名类型 问题描述如下:我有一个方法如下:public IQueryable Dissen ...
- ASP.NET Core 使用 EF 框架查询数据 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 使用 EF 框架查询数据 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 使用 EF 框架查询数据 上一章节我们学习了如何设置 ...
- SQO (标准查询运算符)方法 & Linq To Object
#region SQO (标准查询运算符) 方法 #region Where() Find() FindAll() FirstOrDefault()等方法 static void c01where() ...
- Oracle 特殊字符模糊查询的方法
最近在写DAO层的时候,遇到一个问题,就是使用like进行模糊查询时,输入下划线,无法精确查到数据,而是返回所有的数据. 这让我很好奇,百度之后才发现,原来是因为有些特殊字符需要进行转义才可以进行查询 ...
随机推荐
- latex 输入矩阵
%以下函数可以写矩阵 %这个是放括号的矩阵 $A=\begin{bmatrix} 1&3\\ 3&3 \end{bmatrix}$ %这个是圆括号的矩阵 $A=\begin{pmatr ...
- Umbraco -- 在Visual Studio中新建一个View 如何在Umbraco back office 中显示出来
在使用Umbraco中的过程中,遇到一个问题. 我在项目中(Visual Studio),添加了一个View---Test.cshtml. 然后进入到该Umbraco项目的back office, 在 ...
- Python开发【第六篇】:文件处理
1. 文件 文件处理流程: 打开文件,获得文件句柄,并赋值 通过句柄对文件进行操作 关闭文件 1.1 打开文件 在 Python 中使用 open()函数打开文件,并返回文件对象: open( ...
- 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 ...
- IdentityServer4 学习笔记[1]-客户端授权
前言 本文内容来自IdentityServer4官网,官网有详细的介绍,并且有源码Demo 官网源码例子传送门 建立授权服务端 我们暂时不配置Https,选择空模板建立项目,项目建立后, 为了查看de ...
- tp5分页注意,分页生成的ul class是pagination,有些模板可能将pagination定义为display:none
今天在调用分页时总是无法显示,查看网页源代码是正常的,后来发现是在css文件里将pagination定义为display:none,所以无法显示
- POJ1442 Black Box 堆
用大根堆和小根堆分别存放前$i-1$大的元素前$k-i$小的元素. 将当前序列的元素压入最小堆,如果最小堆的最小数大于最大堆的最大数则进行交换,保证最大堆中的所有数小于最小堆. 因为$i$值每进行一次 ...
- django--权限(1)初识
一.权限表结构设计 1.认识权限 生活中处处有权限,比如,腾讯视频开会员才有观看某个最新电影的权限,你有房间钥匙就有了进入这个房间的权限,等等.同样,程序开发过程中也有权限,我们今天说的权限指的是we ...
- netstat命令怎么查看端口是否占用
转自:http://www.ahlinux.com/start/cmd/527.html netstat命令是一个监控TCP IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接 ...
- Spring Boot 测试 junit
import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.ann ...