#linq
#linq
Вопрос:
В моем классе есть список другого класса.
public class CustomerRequest : BaseEntity
{
[Key]
public int Id { get; set; }
public int Code { get; set; }
public virtual List<TechnicalOfficer> TechnicalOfficers { get; set; }
}
public class TechnicalOfficers : BaseEntity
{
[Key]
public int Id { get; set; }
public int Code { get; set; }
}
Я хочу выбрать все CustomerRequest
, что TechnicalOfficers
содержит специальный идентификатор.
Ответ №1:
Я хочу выбрать все
CustomerRequest
, чтоTechnicalOfficers
содержит специальный идентификатор.
Используйте Any
(или, возможно All
) with Contains
.
var specialIds = new[] { 1, 2, 3 };
var customerRequests = CustomerRequests
.Where(cr => cr.TechnicalOfficers.Any(to => specialIds.Contains(to.Id)));
Комментарии:
1. Спасибо, specialIds — это список технических сотрудников?
2. Нет, это набор ваших специальных идентификаторов.
3. Большое спасибо, я использую
_db.CustomerRequests.Where(w => w.TechnicalOfficers.Any(e=>e.Id==user.UserId))