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. Win10出现键盘未失灵,按下的键都是快捷键的问题

    某一天,WIN10开机.然后键盘莫名其妙的都无法正常使用,没有卡Window键,键盘也没有失灵,按下的键都成为了快捷键:终于在   https://zhidao.baidu.com/question/ ...

  2. bzoj 1592: [Usaco2008 Feb]Making the Grade 路面修整【dp】

    因为是单调不降或单调不升,所以所有的bi如果都是ai中出现过的一定不会变差 以递增为例,设f[i][j]为第j段选第i大的高度,预处理出s[i][j]表示选第i大的时,前j个 a与第i大的值的差的绝对 ...

  3. centos 重装docker

    docker应该是root用户来使用,因为他连接了底层!!!以下操作默认是root用户来操作的 停止所有正在运行的容器: docker stop $(docker ps -a -q) 删除所有的容器c ...

  4. python自动化测试学习笔记-7面向对象编程,类,继承,实例变量,邮件

    面向对象编程(OOP)术语: class TestClass(object):   val1 = 100       def __init__(self):     self.val2 = 200   ...

  5. 通过路由器的IP映射来解决,两个不同IP地址的PC机之间的从LAN口到WAN口的单向通讯问题

    1.问题假设: 在B机中IP地址与子网掩码都固定,网关是路由器的LAN口的IP地址,我们希望通过路由器来实现B机与A机之间的单向通讯问题,也就是说B可以ping通A且可以访问A提供的FTP站点. 2. ...

  6. canvas学写一个字

    第一步:画一个米字格,先画一个矩形,再画中间的米字. <script> window.onload = function(){ var canvas = document.getEleme ...

  7. 有符号char转无符号short

    ; cout<<(int)ch<<endl; //-1 unsigned short d = ch; short dd = ch; cout<<d<<e ...

  8. Java 8 (7) 重构、测试和调试

    为改善可读性和灵活性重构代码 看到这里我们已经可以使用lambda和stream API来使代码更简洁,用在新项目上.但大多数并不是全新的项目,而是对现有代码的重构,让它变的更简洁可读,更灵活. 改善 ...

  9. 如何在网页中浏览和编辑DWG文件 梦想CAD控件

    如何在网页中浏览和编辑DWG文件 梦想CAD控件 www.mxdraw.com 梦想绘图控件5.2  是国内最强,最专业的CAD开发组件(控件),不需要AutoCAD就能独立运行.控件使用VC 201 ...

  10. 梦想CAD控件 2019.05.05更新

    下载地址: http://www.mxdraw.com/ndetail_20141.html 1. 增加vs2017版本控件 2. 增加windows触摸屏支持 3. 增加手写签名功能 4. 修改PL ...