Проблема:
Я пытаюсь преобразовать один из моих запросов Sql в linq, но я не могу получить желаемый результат, который мне нужен. Может ли кто-нибудь предложить мне, что я должен делать?
SQL-запрос:
SELECT AssetTagging.AssetID, AssetTagging.AssetDescription, [Return].RequestStatus
FROM AssetTagging
LEFT OUTER JOIN [Return] ON AssetTagging.AssetID = [Return].AssetID
LEFT OUTER JOIN Issue ON AssetTagging.AssetID = Issue.AssetID
WHERE (Issue.AssetID IS NULL) OR ([Return].RequestStatus = 'Approved')
Linq Query Я использую:
var result = (from at in db.AssetTagging.AsEnumerable()
join r in db.Return on at.AssetID equals r.AssetID
orderby at.AssetID
where !db.Issue.Any(issue=>issue.AssetID==at.AssetID) || r.RequestStatus=="Approved"
select new globalTestModel
{
model1=at
}).ToList();
//I know that in Linq query I'm using Inner join instead of Left Join,but i'm getting error if i use left join instead of inner join?
Что я делаю неправильно?
Любое предложение получить желаемый запрос, например Sql в Linq?
Таблица тегов активов:
Таблица проблем:
Таблица возврата:
Желаемый результат: