@ Андреас Х:
Круто, большое спасибо.
Мне пришлось настроить ваше предложение следующим образом, и оно сработало:
var dealer = this.ObjectContext.Dealers
.Include("Groups")
.Include("Groups.Items")
.Include("Groups.Items.Observations")
.Include("Groups.Items.Recommendations")
.Where(p => p.DealerId == id).
FirstOrDefault();
if (dealer != null)
{
this.ObjectContext.Checkins
.Include("Inspections")
.Include("Inspections.InspectionItems")
.Where(c => !c.Complete && c.Dealer.DealerId == dealer.DealerId)
.ToList();
}
return dealer;
У меня все еще естьчтобы использовать «Включить», в противном случае он не будет возвращать ссылочные объекты.
Обратите также внимание на то, что Dealer.Groups не связаны с Dealer.Checkins.
Поэтому, если нет проверок, удовлетворяющих условию, Группывсе еще нужно вернуть.
Интересно отметить, что сначала я поставил два ключа для проверки дилеру
var dealer = this.ObjectContext.Dealers
.Include("Groups")
.Include("Groups.Items")
.Include("Groups.Items.Observations")
.Include("Groups.Items.Recommendations")
.Include("Checkins.Inspections")
.Include("Checkins.Inspections.InspectionItems")
.Where(p => p.DealerId == id).
FirstOrDefault();
if (dealer != null)
{
this.ObjectContext.Checkins
.Where(c => c.Complete && c.DealerId == id)
.ToList();
}
return dealer;
, но он возвратил все проверки, включая те, которые не являютсязавершено.
Я не совсем понимаю, почему последний не работает, а первый работает, как решаются сущности.Я как-то могу интуитивно понять, что первый возвращает все данные.