У меня есть три объекта, как определено ниже. В моем методе семени я тривиально добавляю по одной записи в каждый класс, что приводит к тому, что у говорящего есть сеанс, в котором есть арендатор.С кодом EF Сначала, как включить вложенные вложенные данные
Когда я материализовать данные акустические системы с этим:
List<Speaker> speakers = db.Speakers.Include("Sessions").ToList();
Я получаю данные сессии, но я также хочу Арендатор заселяться в записи сессии (которые являются частью записей акустических систем).
Я не могу понять синтаксис, чтобы получить ораторы, у которых есть сеансы с записью арендатора.
Я не уверен, что это связано, но я сериализую свои «колонки», и когда я отказываюсь от него, я пропускаю арендатора.
public DbSet<Tenant> Tenants { get; set; }
public DbSet<Speaker> Speakers { get; set; }
public DbSet<Session> Sessions { get; set; }
[Serializable]
public class Tenant
{
public int Id { get; set; }
}
[Serializable]
public class Speaker
{
public int Id { get; set; }
public virtual List<Session> Sessions { get; set; }
}
[Serializable]
public class Session
{
public int Id { get; set; }
public virtual Tenant Tenant { get; set; }
public virtual List<Speaker> Speakers { get; set; }
}
*** Ответ:
List<Speaker> speakersAll1 =_context.
Speakers.
Include(a => a.Sessions.Select(b => b.Tenant)).
ToList();
Спасибо, я обновил вопрос, чтобы включить то, что сработало для меня. Сначала я включил сессию, хотя я предполагаю, что это необязательно. Я буду отмечать как ответ, когда смогу. –
@PeterKellner Я вижу, что вы использовали 'System.Data.Entity', что обычно лучше, чем полагаться на магические строки. Надеюсь, я могу помочь. Также: если вы действительно использовали этот другой метод для его решения, вы должны отправить его в качестве ответа. – johnnyRose