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的更多相关文章

  1. 《Entity Framework 6 Recipes》中文翻译系列 (13) -----第三章 查询之使用Entity SQL

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-4使用实体SQL查询模型 问题 你想通过执行Entity SQL语句来查询你的实 ...

  2. Entity SQL 初入

    Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询 ...

  3. 了解entity framework其他query方式之Entity SQL,Raw Sql分析

    一:linq 对ef来说不是唯一性的query... 二:Entity Sql 1. esql => entity sql... [类sql的语言] 和sql差不多,但是呢,不是sql... u ...

  4. Entity Framework --Entity SQL注意事项

    Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询 ...

  5. EF中Entity SQL用法

    public List<policecase> GetPoliceCaseList(PoliceCaseFilter view)        {            string sq ...

  6. Programming Entity Framework 翻译(1)-目录

    1. Introducing the ADO.NET Entity Framework ado.net entity framework 介绍 1 The Entity Relationship Mo ...

  7. Entity Framework关于SQL注入安全问题

    1.EF生成的sql语句,用 parameter 进行传值,所以不会有sql注入问题 2.EF下有涉及外部输入参数传值的,禁止使用EF直接执行sql命令方式,使用实体 SQL   参考: https: ...

  8. Entity Framework 学习初级篇4--Entity SQL

    Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询 ...

  9. 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 ...

随机推荐

  1. Commons IO 2.5-IOUtils

    转自:http://blog.csdn.net/zhaoyanjun6/article/details/55051917 福利另外我已经把Commons IO 2.5的源码发布到Jcenter,大家就 ...

  2. 2-6 ES6常用语法

  3. Java多线程(四)isAlive

    isAlive 活动状态:线程处于正在运行或准备开始运行的状态 public class ISLiveDemo extends Thread { public void run() { System. ...

  4. fread/fwrite实现复制功能

    1.  fread/fwrite实现复制功能 #include <stdio.h> #include <stdlib.h> #define BUFFSIZE 4096 //执行 ...

  5. ACM_错排(递推dp)

    RPG的错排 Time Limit: 2000/1000ms (Java/Others) Problem Description: 今年暑假GOJ集训队第一次组成女生队,其中有一队叫RPG,但做为集训 ...

  6. Javascript对象基础讲解

    1.Object对象详解 javascript 里最基本的数据类型是对象. avaScript里的对象其实是一个无序的属性集合,属性又是一个个的名-值对. 除了字符串,数字,true,false,nu ...

  7. [译]libcurl错误码

    CURLcode Almost all "easy" interface functions return a CURLcode error code. No matter wha ...

  8. JOptionPane.showMessageDialog出现在浏览器下面的解决方法

    将JOptionPane.showMessageDialog(null, result, "发布公告:", JOptionPane.INFORMATION_MESSAGE);中的参 ...

  9. 前端--3、jQuery

    介绍 jQuery是一个Javascript框架.其宗旨是——WRITE LESS,DO MORE! 是轻量级的js库,兼容CSS3和各种浏览器. 作用:处理HTMLdocuments.events. ...

  10. npm——nrm

    nrm 是镜像地址,方便国内下载 npm i nrm -g nrm ls nrm use taobao // 切换地址