可能重复: Only primitive types (‘such as Int32, String, and Guid’) are supported in this context
好的,我有一个用户表和一个users_users表,它基本上只是将两个用户联系在一起。
我的实体框架在模型中没有users_users,它只显示为主用户对象的关系/属性。这种关系表现为u.user1
因此,u.user1是users_users表中用户的集合。这很好但是..。
我正在尝试创建一个查询,在该查询中,我可以从用户表中选择所有用户,还可以在select子句中创建一个布尔变量(在下面的代码中称为添加),该变量将显示是否存在user_user连接的记录。
我得到的错误“无法创建一个常量值的类型仅基本类型”。
我知道在select中使用"Any()“命令时,我不能使用带有Linq查询的内存中的对象,所以我该如何做呢?我是新来的LINQ。
using (myEntities entities = new myEntities())
{
Model.user u = entities.users.Single(m => m.emailLogon == System.Web.HttpContext.Current.User.Identity.Name);
ObjectQuery<Model.user> susers = entities.users;
var pplquery = (from suser in susers
select new { userId = suser.IdUser, FirstName = suser.contactinfo.FirstName, LastName = suser.contactinfo.LastName, added =
u.user1.Any(cusr => cusr.IdUser == suser.IdUser)}).Take(15);
}发布于 2012-11-24 03:19:05
using (myEntities entities = new myEntities())
{
Model.user u = entities.users.Single(m => m.emailLogon == System.Web.HttpContext.Current.User.Identity.Name);
var susers = entities.users.ToList();
var pplquery = (from suser in susers.AsQueryable()
select new { userId = suser.IdUser, FirstName = suser.contactinfo.FirstName, LastName = suser.contactinfo.LastName, added =
u.user1.Any(cusr => cusr.IdUser == suser.IdUser)}).Take(15);
}将其转换为执行查询的列表,然后可以创建从该集合中选择的新对象。
https://stackoverflow.com/questions/13537797
复制相似问题