简单的 Linq to Sql

Simple Linq to Sql

如果有以下table结构

Key            Site           Building         Person              Grade

Primary key    SiteId         BuildingId       PersonId            GradeId
Foreign key                   SiteId           BuildingId
                                               GradeId

知道 SiteId,我希望获得具有设定等级的 Person 对象列表。

我使用的是uof和repository模式,提取数据的代码如下:

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);

但我无法在智能中看到人员或等级对象的站点。

我已经尝试包含 tables,但同样地,智能不允许我比下一个对象更深入地挖掘,所以

var site = unitOfWork.Repository<Site>()
                  .Query(si => si.SiteId == siteId)
                  .Include(si => si.Building)
                  .Include(si => si.Building.Person) ..... not visible
                  .Select()
                  .FirstOrDefault();

我需要更改什么才能使我能够:

var person = Person.Where(p => p.Building.SiteId == 99 && p.GradeId == 3).ToList();