У меня есть запрос sql, который я пытаюсь преобразовать в Linq, но не могу получить его для работы.Не удалось получить рабочий подзапрос linq
select l.nid,
l.sName,
l.language,
coalesce(p.kLanguage, 0) kLanguage
from vLanguage l
left join
(
select pl.kLanguage,
p.nid,
p.sName
from vProductLanguage pl
left join vProduct p
on pl.kProduct = p.nid
where p.nid = 1
) p
on l.nid = p.kLanguage
where l.bClosed =0
мне удалось так потому что здесь, в моей WCF службы
[WebInvoke(Method = "PUT", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "ProductLanguageList")]
public List<LookUpProductLanguage> GetProductLanguageList()
{
var passedProductId = int.Parse("12");
var query = from languageEntity in _languageEntityRepository.AsQueryable()
join subQueryResult in (from productLanguageEntity in _productLanguageEntityRepository.AsQueryable() join productEntity in _productRepository.AsQueryable() on productLanguageEntity.LanguageProductId equals productEntity.Id into joinedProductLanguage
from productLanguageJoin in joinedProductLanguage.DefaultIfEmpty() where productLanguageJoin.Id.Equals(passedProductId)
select new {LanguageId = productLanguageEntity.LanguageId}
) on languageEntity.Id equals subQueryResult.LanguageId
return null;
}
На данный момент я вернулся пустой, но хотели бы вернуться столбцы, указанные в запросе SQL. Я получаю ошибку около строки join subQueryResult «Аргументы типа не могут быть выведены из запроса». Что я здесь делаю? Пожалуйста, поправьте меня, поскольку я уверен, что я делаю что-то неправильно.
любой ключ? Пожалуйста, помогите – DevelopmentIsMyPassion
Попробуйте добавить '.ToList()' в конце вашего запроса (сначала завершите весь запрос в скобках), как этот 'var query = (from ...). ToList();' – Tim
@Tim Я не чтобы добавить .ToList() даже после добавления скобок. Пожалуйста, помогите. Также мой запрос не завершен в соответствии с моим оператором sql – DevelopmentIsMyPassion