使用Fluent Api定义可选的自引用一对多关系

时间:2012-02-22 12:44:39

标签: c# entity-framework-4.3

public class Attribute
{
    [Key]
    public int AttributeId { get; set; }

    [Required, StringLength(100)]
    public string Name { get; set; }

    public int ValueAttributeId { get; set; }
    public Attribute ValueAttribute { get; set; }

    public IList<Attribute> ValueAttributes { get; set; }
}

  modelBuilder.Entity<Attribute>()
     .HasOptional(a => a.ValueAttribute)
     .WithMany(a => a.ValueAttributes)
     .HasForeignKey(a => a.ValueAttributeId);
  

\ tSystem.Data.Entity.Edm.EdmAssociationType ::多重性与关系'Attribute_ValueAttribute'中Role'Name_ValueAttribute_Target'中的引用约束冲突。由于从属角色中的所有属性都是不可为空的,因此主要角色的多重性必须为“1”。

Aaaaahhhh .....

1 个答案:

答案 0 :(得分:10)

public int ? ValueAttributeId { get; set; }

......该属性需要为null。