집합 개체 프레임 워크 개체를 쿼리하고 WCF RIA 서비스를 통해이를 광 스위치로 투영하려고합니다.select 문에서 linq 쿼리를 사용하여 엔티티 프레임 워크로 부울을 결정하는 방법
내 쿼리에서 두 테이블 간의 조인을 수행하며 그 중 하나는 요약 테이블의 세부 사항입니다. 어떤 세부 항목이 목록의 '첫 번째'항목인지 결정하고 열거 중에 내 예상 항목의 현재 항목과 비교하려고합니다. 투영 중에있는 이유는 사용 가능한 속성 중이 특정 투영의 속성을 설정하는 것을 변경하려고합니다.
이 쿼리가 너무
내가 평가할 수있는 방법var result = (from dataItem in (from x in Context.xs
join y in Context.ys
on x.property = y.property
select new {x, y})
.Select((model, index) =>
new ObjectType
{
Id = index,
OneOfTwo = model.x.property,
(
from y in Context.ys
where y.SomeProperty == model.Property
select y)
.OrderBy(list=>list.Id)
.FirstOrDefault()
.ComparedProperty ==model.ComparedProperty
)
? model.AnotherProperty
: model.YetAnotherProerty
}
);
감소입니다 내가 읽고되는 동안 컨텍스트를 사용하는 것을 시도하고 있기 때문에 DataReader가 오류로 실행하지 않고 내부 쿼리?
업데이트 :
나는 linq에서 SQL로 문제가 아니지만 실체에 대한 linq 문제입니다. 본질적으로 연산은 지원되지 않는 매개 변수화 된 쿼리를 사용하는 것과 동일합니다. 이 상황에서 해결 방법은 무엇입니까?
가짜 코드 주위에 머리를 감싸는 데 문제가 있습니다. 'model.x.property'는'model.Property'와 정말로 다른가요? 도움이 될만한 점은이 코드와 함께 제공되는 의사 데이터를 제공 한 다음 달성하고자하는 결과물을 제공 할 수있는 경우입니다. 시작하는 데이터와 그 모양을 만드는 방법을 확인하는 것이 좋습니다. –
이 좋아, 여기에 내가 주문 {아이디, 사용자 아이디, 날짜, PromoCodeId}으로 시작 무엇 OrderItem에 {아이디, 주문 ID, 제품 ID} PromotionPrice {아이디, PromoCodeId, 제품 일련 번호, 가격, AdditionalItemPrice} 내가 얻으려고 {OrderId, OrderItemId, UserId, PromoCodeId, PromotionPrice} 필드를 캡슐화하는보기 문제는 OrderId로 그룹화 할 때 특정 제품이 해당 제품의 첫 번째 제품인지 아닌지를 결정하고 프로모션 가격의 적절한 가격. Entity에 대한 Linq는 전체보기 크기를 두 번 반복하지 않고이 작업을 수행 할 수 없습니다. –