码迷,mamicode.com
首页 > 其他好文 > 详细

无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型

时间:2019-08-14 14:41:15      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:obj   固定   泛型   tor   查询   枚举类型   int   理由   work   

Entity FreamWork 无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型错误解决:

最近在开发中把我原来抄的架构里面的主键由固定的Guid改成了可以泛型指定的类型,结果,发现执行EF在查询的时候,不能支持equal,只能用==,理由很简单,因为equal是object的方法,虽然所有的类都是object的子类,但是ef不支持复杂类型的直接检索,只能用简单类型,比如常用的string,int,guid,这些,都可以做==,也可以用来检索。但是比如Person对象,虽然可以做==,但不能用于EF的检索。

最终解决方案,把firstOrDefault方法改成用find方法,EF提供的,就可以了。

无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型

标签:obj   固定   泛型   tor   查询   枚举类型   int   理由   work   

原文地址:https://www.cnblogs.com/jasonlai2016/p/11351391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!