c# EF中equal的用法注意
Entity FreamWork 无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型错误解决:
最近在开发中把我原来抄的架构里面的主键由固定的Guid改成了可以泛型指定的类型,结果,发现执行EF在查询的时候,不能支持equal,只能用==,理由很简单,因为equal是object的方法,虽然所有的类都是object的子类,但是ef不支持复杂类型的直接检索,只能用简单类型,比如常用的string,int,guid,这些,都可以做==,也可以用来检索。但是比如Person对象,虽然可以做==,但不能用于EF的检索。
最终解决方案,把firstOrDefault方法改成用find方法,EF提供的,就可以了。
public T GetById(TKey id)
{
return dbContext.Set<T>().Find(id);
}
c# EF中equal的用法注意的更多相关文章
- EF中Entity SQL用法
		
public List<policecase> GetPoliceCaseList(PoliceCaseFilter view) { string sq ...
 - EF架构~在ef中支持IQueryable级别的Contains被翻译成了Exists,性能可以接受!
		
回到目录 Entityframeworks很聪明 不错,非常不错!ef里的contains比linq to sql里的contains有了明显的提升,事实上,是在进行SQL语句翻译上有所提升,在lin ...
 - mvc+ef中比较数据
		
例如:根据Para表中的type和paraid 字段进行比较 public class TypeComparer : IEqualityComparer<Para> { bool IEqu ...
 - EF 中 Code First 的数据迁移以及创建视图
		
写在前面: EF 中 Code First 的数据迁移网上有很多资料,我这份并没什么特别.Code First 创建视图网上也有很多资料,但好像很麻烦,而且亲测好像是无效的方法(可能是我太笨,没搞成功 ...
 - 关于java中String的用法
		
在java 中String存在许多的基本函数,接下来了解一下这些函数的基本用法 String.equals用法(这个用法比较难) String类中的equals()方法: public boolean ...
 - 在EF中使用SQL执行简单高效的增删查操作
		
随着平台数据的积累,对于数据访问的速度要求愈来愈高.优化后台访问性能,将是之后的一个重点任务. 但是,后台在项目开发初期采用的是Abp(Lite DDD)框架,集成EnityFramework.因为之 ...
 - [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
		
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
 - 1.【使用EF Code-First方式和Fluent API来探讨EF中的关系】
		
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/relationship-in-entity-framework-using-code-firs ...
 - 2.EF中 Code-First 方式的数据库迁移
		
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/code-first-migrations-with-entity-framework/ 系列目 ...
 
随机推荐
- Javascript的数据类型(原始类型和引用类型)
			
1.ECMAScript3中定义了变量可分为原始值和引用值. 原始值:是保存在栈(stack)中的简单数据段:也就是说他们的值是直接存储在变量访问的位置. 引用值:是保存在堆(heap)中的对象,也就 ...
 - 读RAM时的时序风险
			
读RAM时的时序有两个风险:1.数据已经存储好,读所需的时间.2.数据同时更新,读所需的时间节点.对于前者,只要延时足够节拍就行.对于后者,还必须要考虑数据建立的时间,同样延时的准备可能会因为数据尚未 ...
 - unity:坐标变换 - 两个函数
			
在cocos中,我们知道有如下的坐标变换函数: CCPoint convertToNodeSpace(const CCPoint& worldPoint);CCPoint convertToW ...
 - hotspot的安全区(saferegion)和安全点(safepoint)
			
1.通过OopMap完成根节点枚举 HotSpot虚拟机使用可达性分析算法确定对象是否可以被GC. 可达性分析算法从一系列GCRoot对象开始,向下搜索引用链,如果一个对象没有与任何GCRoot对象关 ...
 - 组合模式( Composite Pattern)
			
参考文档:http://blog.csdn.net/ai92/article/details/298336 定义: 组合多个对象形成树形结构以表示“整体-部分”的结构层次. 设计动机: 这幅图片我们都 ...
 - [技术博客] win10下vagrant+centos7 rails虚拟开发机配置流程
			
由于少昂早年已经在此踩过坑了,因此在这里,我们现在直接贴上他早年的博客链接:https://www.cnblogs.com/HansBug/p/7403306.html
 - 混合高斯分布与 EM 算法
			
极大似然估计在混合高斯分布中遇到的困难 在一般的情况下,对于所得到的样本集,\(X=\left\{x_{1}, \dots, x_{N}\right\}\),我们的目标是最大化似然函数,通过最大化似然 ...
 - Gevent简明教程
			
Gevent简明教程 发表于 2015-11-28 | 分类于 技术| | 阅读次数 5159 前述 进程 线程 协程 异步 并发编程(不是并行)目前有四种方式:多进程.多线程.协程和异步. 多 ...
 - iis php web.config处理404,500等,跳转友好页面,显示500错误信息
			
显示500错误信息<pre name="code" class="html"><?xml version="1.0" en ...
 - mybatis ResultHandler vs ResultSetHandler及自定义扩展
			
ResultSetHandler是mybatis的关键类之一,用于对jdbc返回的ResultSet进行映射处理,其中包括列前缀处理,逻辑分页,鉴别器(Discriminator,基于值实现动态映射列 ...