如何使用linq到EF填充类对象?

问题描述 投票:0回答:1

我的班级,

  public class User
    {
        public string Username
        {
            get;
            set;
        }
        public string Password
        {
            get;
            set;
        }
        public string [] Roles
        {
            get;
            set;
        }
    }

我的查询是,

var innerJoinQuery =
                            (from u
                            in db.Users
                            join ur in db.UserRoles
                                on u.UserID equals ur.UserID
                            join r in db.Roles on ur.RoleID equals r.RoleID
                            select new {
                                Username=u.Username,
                                Password=u.Password,
                                RoleName = r.RoleName 
                            }).ToList();

上面查询中获取的数据是,

username   password  RoleName
john        123       user
john        123       admin
john        123       super user
David       12345     super user
petter      123456    user

我想使用Linq在我的用户类对象中获取此数据,

应该是,

username   password  RoleName
john        123       { "user", "admin", "super user" }
David       12345     { "super user" }
petter      123456    { "user"}

我已经从网上尝试了许多示例,但没有得到答案。

希望为您提供解决方案。

c# asp.net-mvc linq linq-to-entities linq-to-objects
1个回答
0
投票

您正在寻找GroupBy方法。不确定您的ORM是否支持它,但是您始终可以在查询后进行分组:

GroupBy
© www.soinside.com 2019 - 2024. All rights reserved.