0
SiteId을 알고 다음과 같은 테이블 구조간단한 Linq는 SQL을
Key Site Building Person Grade
Primary key SiteId BuildingId PersonId GradeId
Foreign key SiteId BuildingId
GradeId
, 나는 일련의 등급을 가지고 사람 개체의 목록을 얻기 위해 찾고있는 경우에. 나는 UOF 및 저장소 패턴을 다음과 같이 데이터가 당겨하는 데 사용되는 코드를 사용하고
가 :
var site = unitOfWork.Repository<Site>()
.Query(si => si.SiteId == siteId)
.Select()
.FirstOrDefault();
내가 뭘하고 싶은 것은 무엇인가와 같은 :
List<Person> person = Person.Where(p => p.Site.SiteId == 99
&& p.Site.Building.person.Grade == 3);
하지만, Intellisence에있는 사람이나 학년 개체에서 사이트를 볼 수 없습니다.
나는 테이블을 포함하는 것을 시도했다, 그러나 다시, intellisence 그래서, 내가 다음 객체 후 더 깊이 파고 내가 저를 변경하거나 활성화해야 할 무엇
var site = unitOfWork.Repository<Site>()
.Query(si => si.SiteId == siteId)
.Include(si => si.Building)
.Include(si => si.Building.Person) ..... not visible
.Select()
.FirstOrDefault();
을 허용하지 않습니다
- 사람 개체를 끌어 다시 별도의 테이블 초기 쿼리의 개체 기존 코드를 사용하여
- intellisence 사용하여 객체 트래버스
- 를 당겨
이 이유는 EF에 매핑되지하는 사람과 사이트 사이에 직접적인 관계가 없으며, 그것이 인텔리에 표시되지 않습니다. 건물을 통해 사람의 사이트에 액세스 해보십시오. 'person.Building.SiteId'와 마찬가지로'person.GradId'를 통해 Grad에 직접 액세스 할 수 있습니다. EF 모델 및 매핑을 공유 할 수 있습니까? –