Включение флага столбца, только если конкретная строка существует в другой таблице - PullRequest
0 голосов
/ 07 июня 2019

Значение флага true, только если строка существует, иначе сделайте ее ложной.

Я решил решение в SQL, но у меня проблема с платформой сущностей. Вот SQL-запрос:

select p.ProductID,  
       (case when c.UserID = 3 then 'true' else 'false' end) as flag
    from product as p  
    left join SavedItem as c 
    on p.ProductID = c.ProductID

Этот запрос выполняется точно, он показывает все записи и делает флаг true, только если столбец существует в таблице SavedItem. Как я могу сделать это в рамках сущности?

1 Ответ

1 голос
/ 07 июня 2019

это может быть проблемой левого соединения в платформе Entity. Попробуйте этот код:

var result = from p in Product
    join c in SavedItem on p.ProductID equals c.ProductID into lj
    from c in lj.DefaultIfEmpty()
select new {
    p.ProductID,
    flag = (c.UserID == 3 ? 'true' : 'false')
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...