Entity framework EF代码第一个错误“;指定的索引已存在。[IX_Id]”等;对于对象树

Entity framework EF代码第一个错误“;指定的索引已存在。[IX_Id]”等;对于对象树,entity-framework,Entity Framework,使用EF code first 4.3,我试图用必需关系和必需可选关系对对象树进行建模 下面是这些类的简单表示 public class Top { public int Id { get; set; } public virtual Middle Middle { get; set; } } public class Middle { public int Id { get; set; } public virtual Child Child { get; s

使用EF code first 4.3,我试图用必需关系和必需可选关系对对象树进行建模

下面是这些类的简单表示

public class Top
{
    public int Id { get; set; }
    public virtual Middle Middle { get; set; }
}

public class Middle
{
    public int Id { get; set; }
    public virtual Child Child { get; set; }
}

public class Child
{
    public int Id { get; set; }
}
下面是onmodel创建代码

modelBuilder.Entity<Top>().HasRequired(t => t.Middle).WithRequiredPrincipal().WillCascadeOnDelete();
modelBuilder.Entity<Middle>().HasRequired(t => t.Child).WithOptional().WillCascadeOnDelete();
modelBuilder.Entity().HasRequired(t=>t.Middle)。WithRequiredPrincipal().WillCascadeOnDelete();
modelBuilder.Entity().HasRequired(t=>t.Child).WithOptional().WillCascadeOnDelete();
这会在SQLCE上产生错误“指定的索引已经存在。[IX_Id]”

在检查db模式之后,两个模型绑定器fluent API配置行在表MIDLES上创建一个索引IX_Id

有人知道如何解决这个问题吗

有没有办法设置索引名

谢谢大家!! Pascal使用此代码

public class Top
{
    public int Id { get; set; }

    public int MiddleId { get; set; }

    [ForeignKey("MiddleId")]
    public virtual Middle Middle { get; set; }
}

public class Middle
{
    public int Id { get; set; }

    public int ChildId { get; set; }

    [ForeignKey("ChildId")]
    public virtual Child Child { get; set; }
}

public class Child
{
    public int Id { get; set; }
}

你是否在努力实现一对一的关系?