无法创建类型的实体框架中一个恒定值“System.Object的' [英] Unable to create a constant value of type 'System.Object' in Entity Framework

查看:169
本文介绍了无法创建类型的实体框架中一个恒定值“System.Object的'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

UserTenders 具有 aspnet_Membership 表中的许多一对一的关系命名的表。结果
我使用的EntityFramework 4.0,当我尝试这样的事情,它的错误。

I have a table named UserTenders having many-to-one relationship with aspnet_Membership table.
I am using EntityFramework 4.0 and when I try something like this, it errors.

var tenders = ctx.UserTenders
    .Where(tender => tender.HasAdminApproved.Equals(true))
    .ToList();

该错误是

System.NotSupportedException结果
  无法创建类型的常值'System.Object的'。结果
  只有原始类型('如的Int32,String和的Guid')在这方面的支持。

System.NotSupportedException
Unable to create a constant value of type 'System.Object'.
Only primitive types ('such as Int32, String, and Guid') are supported in this context.

这个片段下方的作品。

This snippet below works.

var tenders = ctx.UserTenders.ToList();

怎么可能是错在我的code?觉得我失去了一些东西很琐碎。

What could be wrong in my code? Feel like I am missing something very trivial.

我想过滤所有那些具有字段 HasAdminApproved 行真正

I would like to filter all those rows that have the bit field HasAdminApproved as true

推荐答案

尝试更换

.Where(tender => tender.HasAdminApproved.Equals(true))

使用:

.Where(tender => tender.HasAdminApproved == true)

或者像$ P $由@Ladislav Mrnka pviously建议,如果你的字段是布尔?

.Where(tender => tender.HasAdminApproved)

这篇关于无法创建类型的实体框架中一个恒定值“System.Object的'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆