-1
Я пытаюсь написать свой первый запрос в LINQ Это мой SQL запросКак использовать MAX в подзапроса в LINQ
SELECT P.id,PS.Id,P.CPersonName
,PS.StartDate FROM Provider P
LEFT OUTER JOIN ProviderSubscription PS ON
P.id=PS.providerID
AND PS.Id=(SELECT max(id)from ProviderSubscription where
providerSubscription.ProviderId=Provider.id)
И до сих пор я написал эту LINQ.
var query = (from p in db.Providers
join ps in db.ProviderSubscriptions on p.Id
equals ps.ProviderId
select new ViewModel
{
providerid = p.Id,
providername = p.ProviderName,
subscriptiondate = ps.ExpiryDate,
}).ToList();
Я не могу добавить эту деталь в свой LINQ.
AND PS.Id=(SELECT max(id)from ProviderSubscription where
providerSubscription.ProviderId=Provider.id)
получение ошибки «ProviderSubscription» не содержит определения для «содержит». любая идея для этого. спасибо – SKashif
хорошо, попробуйте это: точные LINQ версия вашего запроса вар запрос = (от р в db.Providers присоединиться пс в db.ProviderSubscriptions на p.Id равна ps.ProviderId Пусть S = от профи в постоянном .ProviderSubscription , где pro.id == p.id выберите pro.id , где s.contains (ps.Max (и => u.id)) выбрать новый ViewModel { providerid = p.Id, ProviderName = p.ProviderName, subscriptiondate = ps.ExpiryDate, }). ToList(); –
и btw Надеюсь, вы пытались с капиталом «Содержит», не так ли? –