MahmoudOmar Ответов: 1

Как я пишу (select where in select ) с помощью linq в MVC


я пишу этот запрос на языке sql :-
select * from ClientsNotifications
where LocationCenterID in (
select UserLocationsCenter.LocationCenterID
from UserLocationsCenter
inner join AspNetUsers on UserLocationsCenter.UserID = AspNetUsers.Id
where AspNetUsers.Email = 'mahmoud.omar@yahoo.com')
order by UploadDate desc


и я хочу написать его с помощью linq, как я это делаю;

Что я уже пробовал:

я пытаюсь написать этот запрос с помощью linq в mvc, но не могу

1 Ответов

Рейтинг:
11

Karthik_Mahalingam

попробовать это

var LocationCenterIDs = (from ulc in lstUserLocationsCenter  join asp in lstAspNetUsers on ulc.UserID equals asp.Id    select ulc.LocationCenterID);
            var result = lstClientsNotifications.Where(k => LocationCenterIDs.Contains(k.LocationCenterID)).OrderByDescending(k => k.UploadDate).ToList();

замените список именами ваших объектов


MahmoudOmar

я пишу :-
var email = (string)Session ["email"];

и я редактирую в LocationCenterIDs :-

ВАР LocationCenterIDs = (от ULC в дБ.UserLocationsCenter присоединиться ASP в дБ.AspNetUsers на ULC.Идентификатор пользователя равен АСП.Id where asp. Email = = email select ulc.LocationCenterID);

результат ВАР = дБ.ClientsNotifications.Где (k = & gt; LocationCenterIDs.Contains(k.LocationCenterID)).OrderByDescending(k => k. UploadDate).Список();

return View(результат);

и дайте мне эту ошибку :-
При выполнении определения команды произошла ошибка. Подробнее см. Внутреннее исключение.

MahmoudOmar

я решаю свою проблему и этот код работает спасибо за помощь

Karthik_Mahalingam

Круто