У меня есть список cids
что я забирающий как этотсравнения списка с помощью LINQ
var cids = _service.Employee.Where(i => i.EmpID == _empID).Select(j => j.ClientID).ToList();
Я хочу, чтобы сравнить этот список с Patient Entity
и получить все записи пациентов, которая соответствует ClientId в cid list
Entity Пациент как этот
class Patient
{
Int PatientID{ get; set;}
Int ClientID{get; set;}
string PatientName{get; set;}
}
Прямо сейчас я делаю это, как этот
foreach(var item in cids)
{
var pp = from p1 in _service.Patients
where p1.ClientId == item
select new PatientDTO
{
PatientID = p1.PatientID,
PatientName = p1.PatientName,
};
prec.Add(pp);
}
Есть ли способ сделать это с Linq
без использования foreach
Не могли бы вы объяснить нижний план? –
+1. Я не понимаю, почему этот ответ получил отрицательный голос. Этот ответ непосредственно отвечает на запрос: цикл foreach был переписан как «Where», а остальная часть осталась нетронутой. Разумеется, «Интерсект» будет (часто, не всегда) лучше, но эй, этот ответ имеет 100% -ную точность для фактического вопроса. – quetzalcoatl
@ RaphaëlAlthaus Спасибо, ваш первый запрос отлично работает. Я получаю эту ошибку с вашим вторым запросом '" Тип одного из выражений в предложении соединения неверен. Ошибка ввода типа в вызове Join "' Можете ли вы помочь – ElectricRouge