实体框架数据库首先脚手架dbcontext不启用实体导航



示例:dbContext.Shortlist。包括(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一起运行这里缺少了什么?生成的db上下文的片段:

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

答案很明显。缺少一个using

using Microsoft.Data.Entity;

相关内容

  • 没有找到相关文章

最新更新