实体类型处于“影子状态”是什么意思?

Dav*_*vid 5 asp.net-mvc entity-framework asp.net-core-1.0

在我的ASP.NET Core 1.0,MVC6,EF7 Web应用程序中,我添加了一个迁移,该迁移添加了一个新的相关表(和对应的模型)。我有以下模型快照:

[DbContext(typeof(ApplicationDbContext))]
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
{
    protected override void BuildModel(ModelBuilder modelBuilder)
    {
        modelBuilder
            .HasAnnotation("ProductVersion", "7.0.0-rc1-16348")
            .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);

        modelBuilder.Entity("Salesboost.Models.ApplicationUser", b =>
        {
            b.Property<string>("Id");
            b.Property<int?>("TeamId");
            b.HasKey("Id");
            // -- <unrelated fields snipped> --
        });

        // -- <snipped> --

        modelBuilder.Entity("Team", b =>
        {
            b.Property<int>("Id").ValueGeneratedOnAdd();
            b.Property<string>("Name").IsRequired();
            b.Property<string>("ManagerId").IsRequired();
            b.HasKey("Id");
        });

        modelBuilder.Entity("Team", b =>
        {
            b.HasOne("ApplicationUser", "Manager")
                .WithOne("TeamManaging")
                .HasForeignKey("ManagerId");
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

Team.cs:

public class Team
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string ManagerId { get; set; }

    public virtual ApplicationUser Manager { get; set; }
    public virtual ICollection<ApplicationUser> Members { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

应用用户:

public class ApplicationUser : Microsoft.AspNet.Identity.EntityFramework.IdentityUser
{
    public int? TeamId { get; set; }

    public virtual Team Team { get; set; }
    public virtual Team TeamManaging { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试更新数据库时,dnx给我以下错误:

无法将导航属性“管理器”添加到实体类型“团队”,因为实体类型是在阴影状态下定义的,并且导航属性无法添加到阴影状态。

实体类型处于“影子状态”是什么意思?有没有解决的办法?

Mar*_*ski -1

您读过https://github.com/aspnet/EntityFramework/issues/2801吗?您使用的实体框架版本不稳定,请尝试重新创建数据库。如果您的应用程序要进入生产环境,您应该考虑迁移到 EF 6.x。