У меня проблема с LINQ. В основном, сторонняя база данных, к которой мне нужно подключиться, использует устаревшее текстовое поле (я не могу это изменить), и мне нужно выполнить отдельное предложение в моем linq для результатов, которые содержат это поле.
Я не хочу делать ToList () перед выполнением Distinct (), так как это приведет к тысячам записей, возвращающихся из базы данных, которые мне не нужны, и будет раздражать клиента, когда ему начисляется плата за пропускную способность использование. Мне нужны только первые 15 отдельных записей.
В любом случае запрос ниже:
var query = (from s in db.tSearches
join sc in db.tSearchIndexes on s.GUID equals sc.CPSGUID
join a in db.tAttributes on sc.AttributeGUID equals a.GUID
where s.Notes != null && a.Attribute == "Featured"
select new FeaturedVacancy
{
Id = s.GUID,
DateOpened = s.DateOpened,
Notes = s.Notes
});
return query.Distinct().OrderByDescending(x => x.DateOpened);
Я знаю, что могу сделать подзапрос, чтобы сделать то же самое, что и выше (tSearches содержит уникальные записи), но я бы предпочел более простое решение, если оно доступно, так как мне нужно изменить несколько похожих запросов по всему коду, чтобы получить это рабочий.