0

可能重复:
在此上下文中仅支持原始类型(“例如 Int32、String 和 Guid”)

好的,所以我有一个 user 表和一个 users_users 表,它们基本上只是将 2 个用户联系在一起。

我的实体框架在模型中没有 users_users,它仅显示为主要用户对象的关系/属性。这种关系显示为 u.user1

所以 u.user1 是用户的集合,它们存在于 users_users 表中。这很棒但是..

我正在尝试创建一个查询,我可以在其中从用户表中选择所有用户,并在 select 子句中创建一个布尔变量(在下面的代码中添加),该变量将显示是否存在 user_user 连接的记录。

我收到错误“无法创建类型只有原始类型的常量值”

我知道在选择中使用“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);


        }
4

1 回答 1

1
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);


        }

将其转换为列表以执行查询,然后您可以从该集合中选择创建新对象。

于 2012-11-24T03:19:05.450 回答