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进行模糊查询时,输入下划线,无法精确查到数据,而是返回所有的数据. 这让我很好奇,百度之后才发现,原来是因为有些特殊字符需要进行转义才可以进行查询 ...
随机推荐
- 《鸟哥的Linux私房菜》读书笔记2
1. 压缩后缀与压缩程序: *.Z compress 程序压缩的档案; *.bz2 bzip2 程序压缩的档案; *.gz gzip 程序压缩的档案; *.tar tar 程序打包的数据,并没有压缩过 ...
- 实用掌中宝--HTML&CSS常用标签速查手册 PDF扫描版
实用掌中宝--HTML&CSS常用标签速查手册 内容推荐: 本书第一篇以语法和实例相结合的形式,详细讲解了HTML语言中各个元素及其属性的作用.语法和显示效果:第二篇从CSS基本概念开始,分别 ...
- adnroid 启动是没有标题栏
<activity android:name=".MainActivity" android:theme="@android:style/Theme.Light.N ...
- SQL Server 练习
use master if exists(select * from sys.databases where name='db_Test') drop database db_Test go crea ...
- Selenium2.0+TestNG+Ant+Jenkins自动化测试浅尝
当前常用自动化测试工具 Web自动化测试工具:QTP .selenium等 性能自动化测试工具:loadrunner.jmeter等 接口自动化测试工具:SoapUI.postman等 手机自动化测试 ...
- Android代码笔记
1. 如何监听Android的短信收发,自动填充验证码? getContentResolver().registerContentObserver(Uri.parse(SMS_URI_ALL), tr ...
- Tomcat底层通过全类名创建对象的实现
示例: //com.neuedu.baier.entity.User为User类的全类名 //要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段 Class<?> user ...
- SpringBoot2.0 基础案例(04):定时任务和异步任务的使用方式
一.定时任务 1.基本概念 按照指定时间执行的程序. 2.使用场景 数据分析 数据清理 系统服务监控 二.同步和异步 1.基本概念 同步调用 程序按照代码顺序依次执行,每一行程序都必须等待上一行程序执 ...
- LaTeX使用心得
LaTeX是一个功能强大的,开源的排版工具. 最近教练让我们做课件,我做数论,鉴于LaTeX的数学公式功能强大(而MS办公软件的数学公式简直就是个LJ)和我的学习精神,我决定用LaTeX写课件. 在一 ...
- vue项目中将后台返回的创建时间(时间戳格式)转换成日期格式
第一步:下载安装依赖包 npm install -save moment 第二步: 在main.js文件引入 1. import moment from 'moment' 其中还包含 2. //全局过 ...