博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LINQ to Entities 查询注意事项
阅读量:7094 次
发布时间:2019-06-28

本文共 1683 字,大约阅读时间需要 5 分钟。

1> 排序信息丢失

如果在排序操作之后执行了任何其他操作,则不能保证这些附加操作中会保留排序结果。这些操作包括 Select 和 Where 等。另外,采用表达式作为输入参数的 First 和 FirstOrDefault 方法不保留顺序。

如下代码:并不能达到反序排序的效果

using (var edm = new NorthwindEntities()){     IQueryable
cc = edm.Customers.OrderByDescending(c => c.CustomerID).Where(c => c.Region != null).Select(c => c); foreach (var c in cc) Console.WriteLine(c.CustomerID);}

2> 不支持无符号整数

由于 实体框架不支持无符号整数,因此不支持在 LINQ to Entities 查询中指定无符号整数类型。如果指定无符号整数,则在查询表达式转换过程中会引发 NotSupportedException异常,并显示无法创建类型为“结束类型”的常量值。此上下文仅支持基元类型(“例如 Int32、String 和 Guid”)。

如下将会报异常的代码:

using (var edm = new NorthwindEntities()) {      uint id = UInt32.Parse("123");      IQueryable
produt = from p in edm.Products where p.UnitPrice == id select p.ProductName; foreach (string name in produt) Console.WriteLine(name);}

上面的代码中,由于id是uint而不是Int32,String,Guid的标量类型,所以在执行到where p.UnitPrice ==id这个地方时,会报异常。

3> 不支持引用非标量闭包

不支持在查询中引用非标量闭包(如实体)。在执行这类查询时,会引发 NotSupportedException 异常,并显示消息“无法创建类型为“结束类型”的常量值。此上下文中仅支持基元类型(‘如 Int32、String 和 Guid’)

如下将会报异常的代码:

using (var edm = new NorthwindEntities()) {        Customers customer = edm.Customers.FirstOrDefault();        IQueryable
cc = from c in edm.Customers where c == customer select c.ContactName; foreach (string name in cc) Console.WriteLine(name);}

上面的代码中,由于customer是引用类型而不是Int32,String,Guid的标量类型,所以在执行到where c==customer这个地方时,会报异常。

posted on
2017-05-11 18:43 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/yezuhui/p/6842235.html

你可能感兴趣的文章
Android之代码创建布局
查看>>
xss实例-输出在<script></script>之间的情况
查看>>
Jquery操作table
查看>>
高并发处理案例
查看>>
在matlab中clear,clc,clf,hold作用介绍
查看>>
[物理学与PDEs]第1章习题8 磁场分布 $\ra$ 电流分布
查看>>
技术书单整理
查看>>
c语言开源项目--SQLite学习资料总结
查看>>
Repeater控件
查看>>
JS模板引擎
查看>>
JavaScript之表单验证讲解
查看>>
MSMQ 消息队列
查看>>
java核心知识点学习----多线程并发之线程同步
查看>>
JSP编程中常用的JavaScript技术(转载)
查看>>
jquery easy ui 学习 (5) windowlayout
查看>>
delegate和protocol
查看>>
DevExpress Report的简单应用
查看>>
Spring AOP Schema aop:config、tx:advice
查看>>
Linux 驱动加载到内核中编译<1>
查看>>
MyBatis-Spring 使用总结
查看>>