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 so
Just wanted to point out, you could have also used tender.HasAdminApproved.HasValue.Equals(true))... this works when bool allows nulls
I had the same exception caused by a different problem: a char versus a string used as a constant. My select looked like this:
from p in Person
select new Foo
{
FullName = p.FirstName + ' ' + p.LastName
}
The boolean conditionals I had elsewhere in the query (i.e. "where p.IsActive") worked fine. I had to switch to using a string:
from p in Person
select new Foo
{
FullName = p.FirstName + " " + p.LastName
}
This obviously is not the answer to the OP's question, but I was unable to find a similar question with the char/string issue so I wanted to post it for others' benefit.
Try replacing
.Where(tender => tender.HasAdminApproved.Equals(true))
With:
.Where(tender => tender.HasAdminApproved == true)
Or as previously suggested by @Ladislav Mrnka if your field is bool?
.Where(tender => tender.HasAdminApproved)
@Ladislav told you the correct answer (.Where(tender => tender.HasAdminApproved)
), but you might wonder why you get this message.
You're trying to call System.Boolean.Equals(Object obj)
. So you're boxing the constant true
. And L2E, as the message says, has no support for a const of a non-primitive type like System.Object
. Hence the error.