3
A
답변
0
문제는 엔티티에 Linq를 변환하려고하는 것입니다 쿼리에 엔터티 또는 복합 형식이 LINQ으로 구성 할 수 없습니다
var ret = (from item in contex.Items
select new Itemm
{
Title = item.Title,
Count = 1 // more complex: Count =item.refToAnotherEntity.Count()
});
public partial class Itemm
{
public int Count { get; set; }
}
내가 그 오류 :
이
내 쿼리입니다 SQL에 대한 전체 식. 그것은 당신의 "새로운"성명서로는 정확하게 가능하지 않습니다.는 다음과 같은 시도 :
var ret = (from item in contex.Items
select new Itemm
).ToList();
ret = (from item in ret
select new Itemm
{
Title = item.Title,
Count = 1
}).ToList();
은 기본적으로 당신이 결과는 SQL 서버에서 반환되어 있는지 만들고있어합니다 (ToList()를이 작업을 수행)를 재 구축하기 전에. 그것은 꽤 아니므로, 조금 정리해도되지만 위의 코드가 작동해야합니다.
-1
당신은 (즉, IEnumerable<T>
-IQueryable<T>
에서 이동) 다음 이런 식으로 뭔가 할 수있는 클라이언트 측에 처리를 이동하고자하는 경우 그에서
var query = (from item in context.Items
select new Item {
Title = item.Title
});
var ret = query.AsEnumerable().Select(i => {
// Set the count.
i.Count = 1;
// Return the item.
return i;
});
키는 IEnumerable<T>
아래로 떨어지고에서입니다 포인트, LINQ 공급자는 당신 에게이 문제를주지 않을 개체에 LINQ된다.
0
당신의 질문은 올바른 SQL로 번역되지 않습니다. 왜냐하면 linq은 당신의 추가 속성에 대해 어떻게 해야할지 모르기 때문입니다.
사용자 지정 속성을 초기화하는 방법이 있습니다.
당신이 다음 데이터베이스에서로드 한 후로드 할 경우가) {}
을
부분 무효 OnCreated를 (생성 그리고 여기에 사용자 정의 초기화를 쓸 수 있습니다 할 수 있습니다 무시
protected override void OnLoaded (bool initial) { base.OnLoaded (초기); }
0
동일한 결과를 얻으려고합니다. 지금까지 가장 좋은 해결책은 부분 클래스에 추가 속성을 설정하는 Count 속성이있는 엔티티 래퍼를 만드는 것이 었습니다. 같은 2 익명의 유형을 선택할 수
var ret = (from item in contex.Items
select new ItemWithCount
{
Item = item,
Count = item.refToAnotherEntity.Count()
}).AsEnumerable().Select(x => x.Item);
대신 래퍼를 만드는 :
public class ItemWithCount
{
public Item Item { get; set; }
public int Count
{
get { return Item.Count; }
set { Item.Count = value; }
}
}
그런 다음이 같은 조회 할 수있다 : 예를 들어 귀하의 케이스를 촬영 이 같은 것 속성을 사용하지만 쿼리가 끝나면 결과를 살펴보고 각 엔터티의 Count 속성 값을 설정해야합니다.이런 식으로 뭔가 :
var ret = (from item in contex.Items
select new
{
Item = item,
Count = item.refToAnotherEntity.Count()
});
Parallel.ForEach(ret, x => x.Item.Count = x.Count);
var results = ret.Select(x => x.Item);
나는 ... 나는 새로운 클래스를 만들 필요없이 해결책을 가지고 싶습니다 althouth, 어떤 아이디어를 첫 번째 옵션 역자 주?
관련 문제
- 1. linq 반환 속성을 null로 설정하십시오.
- 2. protected 속성을 public로 설정하십시오.
- 3. Expect.Call에서 개체의 속성을 설정하십시오.
- 4. 동적으로 속성 속성을 설정하십시오.
- 5. Modelica - min 속성을 설정하십시오.
- 6. C# 속성을 다시 설정하십시오.
- 7. 개미의 루프에 속성을 설정하십시오.
- 8. "일반"방식으로 구성원 속성을 설정하십시오.
- 9. 상태에 따라 WiX에서 속성을 설정하십시오.
- 10. Windows : 프로세스 수준 단위로 보안 속성을 설정하십시오.
- 11. cs 파일에서 컨트롤 속성을 설정하십시오.
- 12. jQuery iFrame onLoad 속성을 설정하십시오.
- 13. 코드 뒤에 표시 속성을 설정하십시오.
- 14. 인스턴스화 후 ViewController의 속성을 설정하십시오.
- 15. Firefox에서 스크롤 막대 속성을 설정하십시오.
- 16. 보고 서비스의 pdf 속성을 설정하십시오.
- 17. 입력의 실제 값 속성을 jQuery로 설정하십시오.
- 18. ListBox에서 선택한 개체의 다른 속성을 설정하십시오.
- 19. 리피터 데이터 바인딩 된 데이터에서 사용자 정의 컨트롤의 속성을 설정하십시오.
- 20. SharePoint 2010 : EcmaScript를 통해 SPWeb.RequestAccessEmail을 설정하십시오.
- 21. Office 자동화를 통해 Word의 프린터를 설정하십시오.
- 22. ClassCastException 특정 속성을 가진 엔티티를 선택할 때
- 23. LINQ 메서드는 확장 메서드입니까?
- 24. LINQ 확장 메서드 재정의
- 25. LINQ 확장 방법 도움말은
- 26. 셰어 포인트 렌더링 템플릿 필드에서 속성을 설정하십시오.
- 27. 동적으로 jQuery 객체 옵션/속성을 설정하십시오.
- 28. linq 메모리에 생성 후 엔티티를 삽입하는 SQL
- 29. WPF에서 다른 컨트롤의 속성을 사용하여 컨트롤의 속성을 설정하십시오.
- 30. 은 bulkloader.Loader를 통해 기존 엔티티를 덮어 씁니다.
그리고 Count로 값을 설정하려면 어떻게해야합니까? 예를 들어이 항목이있는 사용자 수? (다른 개체에 대한 참조가있을 때) – asker
^^는 전혀 이해가되지 않는 질문을 수정 해보십시오. –
제 질문의 업데이트 된 버전을 확인하십시오 – asker