База данных фреймворка сущностей сначала формирует dbcontext, не включает навигацию по сущностям

пример: dbContext.Shortlist.Include(a => a.Shortlist_crew). Часть .Include() вообще недоступна. То же самое для любых других объектов: table.Include(q=>q.OtherEntity). Это из сгенерированных классов, работающих под управлением dnx ef dbcontext scaffold EntityFramework.SqlServer. Запуск проекта asp.net 5 (beta 7) с EF 7 beta-7 Чего здесь не хватает? Фрагмент сгенерированного контекста БД:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
...
modelBuilder.Entity<Shortlist>(entity =>
            {
                entity.ToTable("Shortlist", "dbSchemaName");
                entity.Property(e => e.id).ValueGeneratedNever();
                entity.Property(e => e.name).Required();
                entity.Property(e => e.production_id).Required();
                entity.Property(e => e.user_id).Required();
                entity.Reference(d => d.production).InverseCollection(p => p.Shortlist).ForeignKey(d => d.production_id);
                entity.Reference(d => d.user).InverseCollection(p => p.Shortlist).ForeignKey(d => d.user_id);
            });

modelBuilder.Entity<Shortlist_crew>(entity =>
            {
                entity.ToTable("Shortlist_crew", "dbSchemaName");
                entity.Property(e => e.id).ValueGeneratedNever();
                entity.Property(e => e.added)
                    .Required()
                    .HasDefaultValueSql("getutcdate()");
                entity.Property(e => e.crew_id).Required();
                entity.Property(e => e.shortlist_id).Required();
                entity.Reference(d => d.shortlist).InverseCollection(p => p.Shortlist_crew).ForeignKey(d => d.shortlist_id);
                entity.Reference(d => d.crew).InverseCollection(p => p.Shortlist_crew).ForeignKey(d => d.crew_id);
            });
...
}
public virtual DbSet<Shortlist> Shortlist { get; set; }
public virtual DbSet<Shortlist_crew> Shortlist_crew { get; set; }

и сгенерированные POCO:

public class Shortlist
    {
        public Shortlist()
        {
            Production_shortlist = new HashSet<Production_shortlist>();
            Shortlist_crew = new HashSet<Shortlist_crew>();
        }

        public Guid id { get; set; }
        public string name { get; set; }
        public Guid production_id { get; set; }
        public string remarks { get; set; }
        public Guid user_id { get; set; }
        public virtual ICollection<Production_shortlist> Production_shortlist { get; set; }
        public virtual ICollection<Shortlist_crew> Shortlist_crew { get; set; }
        public virtual Production production { get; set; }
        public virtual SearchUser user { get; set; }
    }

public class Shortlist_crew
    {
        public Guid id { get; set; }
        public DateTimeOffset added { get; set; }
        public Guid crew_id { get; set; }
        public Guid shortlist_id { get; set; }
        public virtual Crew crew { get; set; }
        public virtual Shortlist shortlist { get; set; }
    }

person Alek    schedule 09.09.2015    source источник


Ответы (1)


Что ж, вполне очевидный ответ. Отсутствовало использование.

using Microsoft.Data.Entity;
person Alek    schedule 09.09.2015