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进行模糊查询时,输入下划线,无法精确查到数据,而是返回所有的数据. 这让我很好奇,百度之后才发现,原来是因为有些特殊字符需要进行转义才可以进行查询 ...
随机推荐
- 自定义map对象,用于再不支持es6的map的时候
function Map() { this.elements = new Array(); // 获取Map元素个数 this.size = function ...
- 27.【转载】挖洞技巧:如何绕过URL限制
大家对URL任意跳转都肯定了解,也知道他的危害,这里我就不细说了,过~ 大家遇到的肯定都是很多基于这样的跳转格式:http://www.xxx.xxx/xxx?xxx=http://www.xxx.x ...
- 微信小程序自学第二课:app及页面的生命周期、使用setData绑定数据
一.App声明周期 1.App() app.js中的App() 函数用来注册一个小程序.接受一个 object 参数,其指定小程序的生命周期函数等. 示例代码: App({ onLaunch: fun ...
- python之02数据类型学习-作业练习
题目: 购物车程序 salary = 5000 1. iphone6s 5800 2. mac book 9000 3. coffee 32 4. python book 80 5. bicyle 1 ...
- 799C(xjb)
题目链接: http://codeforces.com/problemset/problem/799/C 题意: 有c, d两种货币, 有 n 个货物, 可以用 c 货币或者 d 货币购买, 现在需要 ...
- pb_ds的优先队列实现dijkstra
用pb_ds的优先队列来做dijkstra..据说noip能用哟. 先来篇关于仿函数的文章. 由于pb_ds支持由迭代器访问元素,并且push操作会返回一个迭代器,merge操作会更新迭代器,相当于帮 ...
- 20165224 陆艺杰 Exp9 Web安全基础
Exp9 Web安全基础 SQL注入攻击原理,如何防御 程序对用户输入数据的合法性没有判断就直接插入查询语句 信任别人的输入,构造输入造成攻击 防御 :对输入进行检查 XSS攻击的原理,如何防御 程序 ...
- Mac/Homebrew brew update慢的方法
Homebrew是Mac的软件包管理器,我们可以通过它安装大多数开源软件.但是在使用brew update更新的时候竟然要等待很久.猜测可能是因为brew的官方源被墙或或者响应慢.于是想到的切换Hom ...
- [Leetcode]012. Integer to Roman
public class Solution { public String intToRoman(int num) { String M[] = {"", "M" ...
- calendar 类 用法
add()和roll()区别 一.Calendar 月份从 0-11,要表示8月,应该传入7 . 二.set() 会自动转换为合法的日期,如 set(1999,8,31) 表示的是1999-09-3 ...