문제

나는 현재 LINQ-to-Entities에 대해 조금 더 많이 배우고 있습니다.

proxy.User.Include("Role").First(u => u.UserId == userId)

이것은 사용자가 가지고있는 역할과 함께 사용자를로드해야합니다. 문제가 있지만 질문도 있습니다. L2E에 대해 배우기 위해 만들어진 간단한 모델 일뿐입니다.

나는 이것이 물건을 강력하게 입력하도록 설계되었다는 인상을 받았습니다. 왜 "역할"을 써야합니까? 테이블 이름을 변경하면 컴파일 오류가 발생하지 않는 것 같습니다 ...

내 오류는 이것입니다.

The specified type member 'Roles' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.

아래 솔루션을 통해 이제 코드를 작성할 수 있습니다.

proxy.User.Include(u => u.Role).First(u => u.UserId == userId)

훨씬 더 좋습니다!

도움이 되었습니까?

해결책

  1. 포함은 열망하는 하중에 대한 힌트입니다.
  2. 포함 된 내용을 참조하기 전에 항상 isloaded 속성을 확인하십시오.
  3. 포함 명령문에 강력하게 입력 된 객체를 넣을 수있는 방법이 있지만,이 문제에 대한 솔루션은 Entity Framework를 사용하여 상자에서 사용할 수있는 솔루션이 없습니다. Google과 같은 것 : 엔티티 프레임 워크 ObjectQueryExtension 포함
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top