Entity SQL rules for Wrapped and Unwrapped Results
Here are some rules to remember for Entity SQL queries:
1.Use SELECT VALUE when projecting more than one type;
2.When querying with SELECT,the ObjectQuery type must be a DbDataRecord ;
3.You can use SELECT VALUE when projecting a single value or entity;
4.When querying with SELECT VALUE,the ObjectQuery type must be the same type as the value being returned.
用 Entity SQL 查询“包装”和“未包装” 结果的规则:
下面是几条用Entity SQL 查询需要记住的规则:
1、当投射的类型超过一个时,用 select value ;
2、当用 select 查询时,ObjectQuery 结果集类型必须为DbDataRecord类型;
3、当查询单个值或单个实体的时候,推荐使用 select value 查询;
4、当用 select value 进行查询时,ObjectQuery 类型必须和返回值类型保持一致;
Examples:
1、Wrapped Contact needs to be cast:
private static void WrappedContactInEntitySql()
{
using (var context = new PEF())
{
var queryString =
"select c from PEF.Contacts as c where c.FirstName ='Robert' "; var contacts = context.CreateQuery<DbDataRecord>(queryString); foreach (DbDataRecord c in contacts)
{
var contact = (Contact)c[0]; Console.WriteLine("{0} {1} {2}",
contact.Title.Trim(),
contact.FirstName.Trim(),
contact.LastName.Trim());
} } Console.WriteLine("Press Enter...");
Console.ReadLine(); }
2、Unwrapped Contact does not need to be cast:
private static void UnwrappedContactInEntitySql()
{
using (var context = new PEF())
{
var queryString =
"select value c from PEF.Contacts as c where c.FirstName = 'Robert' "; var contacts = new ObjectQuery<Contact>(queryString, context); foreach (var contact in contacts)
{
Console.WriteLine("{0} {1} {2}",
contact.Title.Trim(),
contact.FirstName.Trim(),
contact.LastName.Trim());
} } Console.WriteLine("Press Enter...");
Console.ReadLine(); }
Entity SQL rules for Wrapped and Unwrapped Results的更多相关文章
- 《Entity Framework 6 Recipes》中文翻译系列 (13) -----第三章 查询之使用Entity SQL
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-4使用实体SQL查询模型 问题 你想通过执行Entity SQL语句来查询你的实 ...
- Entity SQL 初入
Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询 ...
- 了解entity framework其他query方式之Entity SQL,Raw Sql分析
一:linq 对ef来说不是唯一性的query... 二:Entity Sql 1. esql => entity sql... [类sql的语言] 和sql差不多,但是呢,不是sql... u ...
- Entity Framework --Entity SQL注意事项
Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询 ...
- EF中Entity SQL用法
public List<policecase> GetPoliceCaseList(PoliceCaseFilter view) { string sq ...
- Programming Entity Framework 翻译(1)-目录
1. Introducing the ADO.NET Entity Framework ado.net entity framework 介绍 1 The Entity Relationship Mo ...
- Entity Framework关于SQL注入安全问题
1.EF生成的sql语句,用 parameter 进行传值,所以不会有sql注入问题 2.EF下有涉及外部输入参数传值的,禁止使用EF直接执行sql命令方式,使用实体 SQL 参考: https: ...
- Entity Framework 学习初级篇4--Entity SQL
Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询 ...
- Save results to different files when executing multi SQL statements in DB Query Analyzer 7.01
1 About DB Query Analyzer DB Query Analyzer is presented by Master Genfeng,Ma from Chinese Mainl ...
随机推荐
- openssh常用命令记录
command description date ssh [user@]hostname[:port] 登录远程机器 2017-03-21 scp <local_file> <use ...
- springAOP配置XML方式配置切面报错error at ::0 formal unbound in pointcut
[错误配置文件] <aop:config> <aop:pointcut expression="execution(* net.fifteenho.service.impl ...
- Rails 插入代码与注释
醉了醉了,在原来那个表格最后加了然后更新博客,然后最后写的内容就没了.来来回回试了n次都一样.不得已新开一个 插入代码 <% ... %> 打印值 <%= ... %&g ...
- bzoj 2060: [Usaco2010 Nov]Visiting Cows 拜访奶牛【树形dp】
设f[u][0/1]为u这个点不选/选,转移的时候从儿子转移,f[u][1]=sum(f[son][0])+1,f[u][0]=sum(max(f[son][0],f[e[i].to][1])) #i ...
- js 获取图片宽高 和 图片大小
获取要查看大小的img var img_url = 'http://img5.imgtn.bdimg.com/it/u=4267222417,1017407570&fm=200&gp= ...
- java 序列化和反序列化数据
使用ObjectOutputStream 序列号原始数据和对象数据,使用ObjectInputStream 反序列化 使用字节存储数据,可以将序列化的数据存储到硬盘上,或输出到网络上 package ...
- js实现水波纹背景
<!DOCTYPE html> <html> <head> <title>水波背景</title> <meta charset=&qu ...
- excel 录入oracle 方法
http://blog.itpub.net/28602568/viewspace-1797410/ 1.方法1:外部表 1.将excel另存为.txt格式(2种txt 格式都可以),再传到数据库dir ...
- 232 Implement Queue using Stacks 用栈来实现队列
使用栈来实现队列的如下操作: push(x) -- 将一个元素放入队列的尾部.pop() -- 从队列首部移除元素.peek() -- 返回队列首部的元素.empty() -- 返回队列是否为空.注意 ...
- TypeError: slice indices must be integers or None or have an __index__ method
由于除法/自动产生的类型是浮点型,因此出现上述错误,修正方法为,将/更改为// roi_gray_lwpCV = gray_lwpCV[y:y + h // 2, x:x + w] # 检出人脸区域后 ...