c# 将列表映射到 ILookup<int,tenant>
c# Mapping lists to ILookup<int,tenant>
基于以下类。
public class User
{
public int Id { get; set; }
public List<TenantUser> TenantUsers { get; set; }
}
public class TenantUsers
{
public int UserId { get; set; }
public User User { get; set; }
public int TenantId { get; set; }
public Tenant Tenant { get; set; }
}
public class Tenant
{
public int Id { get; set; }
public string Name { get; set; }
public List<TenantUser> TenantUsers { get; set; }
}
我正在尝试生成一个 linq 查询,它将 return 一个 Lookup<int,Tenant>()
int
是来自 TenantUsers 的 userId。
我目前的尝试:
var userIds = new int[] {1, 2,3,5};
var tenantUsers = new List<TenantsUsers>();
var tenants =
tenantUsers
.Where(m => userIds.Contains(m.UserId))
.ToLookup(x=>x.UserId);
以上是我的进展情况。这个returnsILookup<int,TenantUsers>
我要找ILookup<int,Tenant>();
你必须 select Tenant
这样的结果。
var userIds = new int[] {1, 2,3,5};
var tenantUsers = new List<TenantsUsers>();
var tenants =
tenantUsers
.Where(m => userIds.Contains(m.UserId))
.ToLookup(x => x.UserId, y => y.Tenant);
基于以下类。
public class User
{
public int Id { get; set; }
public List<TenantUser> TenantUsers { get; set; }
}
public class TenantUsers
{
public int UserId { get; set; }
public User User { get; set; }
public int TenantId { get; set; }
public Tenant Tenant { get; set; }
}
public class Tenant
{
public int Id { get; set; }
public string Name { get; set; }
public List<TenantUser> TenantUsers { get; set; }
}
我正在尝试生成一个 linq 查询,它将 return 一个 Lookup<int,Tenant>()
int
是来自 TenantUsers 的 userId。
我目前的尝试:
var userIds = new int[] {1, 2,3,5};
var tenantUsers = new List<TenantsUsers>();
var tenants =
tenantUsers
.Where(m => userIds.Contains(m.UserId))
.ToLookup(x=>x.UserId);
以上是我的进展情况。这个returnsILookup<int,TenantUsers>
我要找ILookup<int,Tenant>();
你必须 select Tenant
这样的结果。
var userIds = new int[] {1, 2,3,5};
var tenantUsers = new List<TenantsUsers>();
var tenants =
tenantUsers
.Where(m => userIds.Contains(m.UserId))
.ToLookup(x => x.UserId, y => y.Tenant);