ADO.NET에서 탐색 속성과 상속을 사용하여 약간의 문제가 있습니다.ADO.NET 탐색 속성
는 첫째, 일부 어휘 :
제품 분류 카테고리를
Formulario = 양식
캄포 = 필드
Imagem의를 = = 이미지
이
내 데이터 모델입니다 Paragrafo = 단락
Escolha = 선택
Texto = 텍스트
Resposta는 = 그래서, 나는 그것이 답이 계산의 반환 양식에 사용자 지정 속성을 만들려고 해요
답변.
일반적인 접근 방법은 (내가 생각하는) 것 :
public partial class Formulario
{
public int Respostas
{
get
{
List<Item> itens = this.Itens.ToList();
IEnumerable<Campo> campos = from m in itens where m as Campo != null select (Campo)m;
int soma = campos.Sum(m => m.Respostas.Count);
return soma;
}
}
}
그러나 그것은 작동하지 않습니다. itens
목록은 0 개의 요소를 반환합니다. 하지만 아래와 같이 할 경우, 4 가지 항목을 반환합니다.
전체 데이터 모델을 인스턴스화 할 때만 작동합니다. 그 이유를 아는 사람 있습니까?
PS : 나는 모든 Linq
쿼리뿐만 아니라 사람 Linq2Entities
을 사용할 수 있도록 내가 .toList()
방법을 사용하고있어 내가 엔티티 프레임 워크 1을 사용하거나 당신이있어 같은데요
하지만 난 엔티티 프레임 워크에 의해 생성 된 Formulario 클래스를 확장하고 있습니다 :
당신은 갈 수 있어야한다 코드와 모든 것을 두 줄을 추가해야합니다. 객체가 instanciated 때 속성은 acessed이기 때문에 내장 된 탐색 속성이 작동한다고 가정합니다. 하지만 그렇지 않습니다 :/ –
@Rodrigo - 이제 이해합니다 ... 업데이트하겠습니다. –
빙고! 이제 잘 작동합니다. 감사! –