LINQ从另一个实体列表获取列表

时间:2019-04-27 22:41:33

标签: c# linq entity-framework-core

我具有以下EF代码优先的层次结构:

  1. 市场可以有许多UserIntervalAlerts
  2. UserAlerts有一个ApplicationUser

首先,我要检查是否存在具有当前用户UserIntervalAlerts的.Any()市场。

然后, 我想获取所有具有当前ApplicationUser的UserIntervalAlerts的市场

if (exchange.Markets.Count(x => x.UserIntervalAlerts?.Select(y => y.User) != GetCurrentUser()) > 0)
                {
                    marketList = marketList.Where(m => m.UserIntervalAlerts.Select(x => x.User) == GetCurrentUser()).ToList();
                }

1 个答案:

答案 0 :(得分:1)

根据您的描述,这样的事情应该可以满足您的要求。

var marketsWithEventsForUser = markets
    .Where(market => market.UserIntervalAlerts
        .Any(alert => alert.User == GetCurrentUser());
if (marketsWithEventsForUser.Any()) 
{
    //iterate over list and do whatever...
}

我假设对于User以及GetCurrentUser()返回的任何类型,平等将像您期望的那样起作用。