을 IQueryable 출력 제공 LINQ 쿼리에 Func을 사용하는 방법 : 내 서비스 클래스에내 서비스에서 된 IQueryable을 반환하는 다음 쿼리 (간체 버전) 제공
var query =
(from item in _entityRepository.DbSet()
where
MyCondition
orderby Entity.EntityID descending
select new DTOModel
{
Id = Entity.EntityID,
...,
//My problem is here, when I trying to call a function into linq query:
//Size = Entity.IsPersian ? (Entity.EntitySize.ConvertNumbersToPersian()) : (Entity.EntitySize)
//Solution (1):
//Size = ConvertMethod1(Entity)
//Solution (2):
//Size = ConvertMethod2(Entity)
});
또한 나는 다음과 같은 한 코드를 따라 나는이 다음과 같은 오류가 본
//Corresponding to solution (1):
Func<Entity, string> ConvertMethod1 = p => (p.IsPersian ? p.EntitySize.ConvertNumbersToPersian() : p.EntitySize);
//Corresponding to solution (2):
Expression<Func<Entity, string>> ConvertMethod2 = (p) => (p.IsPersian ? p.EntitySize.ConvertNumbersToPersian() : p.EntitySize);
그리고 :
솔루션에 해당하는생성 오류 (1) :
내 쿼리LINQ 표현식 노드 유형 'Invoke'는 LINQ to Entities에서 지원되지 않습니다. (2) 솔루션에 해당하는
생성 오류 :
그것의 컴파일 오류 : 방법, 위임 또는 이벤트가
감사 어떤 고급 도움을 많이 기대된다.
당신의 도움을 위해 @Michael Puckett II를 많이 주셔서 감사합니다. 그러나이 경우 ToArray() 또는 다른 Enummerable 가족 메소드 (ToArray() 등)를 사용할 수 없다고 말해야합니다. –