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进行模糊查询时,输入下划线,无法精确查到数据,而是返回所有的数据. 这让我很好奇,百度之后才发现,原来是因为有些特殊字符需要进行转义才可以进行查询 ...
随机推荐
- 3. XML实体注入漏洞的利用与学习
XML实体注入漏洞的利用与学习 前言 XXE Injection即XML External Entity Injection,也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数据进行处理时引发 ...
- 6.JBoss5.x6.x 反序列化漏洞(CVE-2017-12149)复现
2017 年 9 月 14 日,国家信息安全漏洞共享平台( CNVD )收录了 JBOSS Application Server 反序列化命令执行漏洞( CNVD-2017-33724,对应 CVE- ...
- 关于mysql查询最近一条记录
关于mysql查询最近一条记录 最近项目中遇到需要查询记录当前时间最近的一条记录的问题,开始感觉无从下手,后来逐步发现了三种解决方案. 下策——查询出结果后将时间排序后取第一条 select * fr ...
- Win7常用但是被忽略的快捷键
General keyboard shortcuts 1.Ctrl + Right Arrow Move the cursor to the beginning of the next word 向 ...
- Flask 入门(第二篇)
1. 数据库 Flask 没有限定使用哪种数据库,不管是 SQL 还是 NoSQL.如果你不想自己编写负责的 SQL语句的话,你也可以使用 ORM,通过 SQLALchemy 即可实现. 1.1 SQ ...
- AIM Tech Round 5 (rated, Div. 1 + Div. 2) D(SET,思维)
#include<bits/stdc++.h>using namespace std;const long long mod = 1e9+7;char s[370007][27];long ...
- Codeforces#514D(三分,简单二维几何)
#include<bits/stdc++.h>using namespace std;const double eps=1e-8;int n; struct node{ double ...
- go语言实战教程:实战项目资源导入和项目框架搭建
从本节内容开始,我们将利用我们所学习的Iris框架的相关知识,进行实战项目开发. 实战项目框架搭建 我们的实战项目是使用Iris框架开发一个关于本地服务平台的后台管理平台.平台中可以管理用户.商品.商 ...
- bzoj 4974: [Lydsy八月月赛]字符串大师
4974: [Lydsy八月月赛]字符串大师 Time Limit: 1 Sec Memory Limit: 256 MBSubmit: 371 Solved: 190[Submit][Statu ...
- bzoj3731: Gty的超级妹子树(树分块)
传送门 分块树,代码参考了Manchery的 具体细节还是看代码好了 这题卡常……注意常数写好点…… //minamoto #include<iostream> #include<c ...