Define optional self-referencing one-many relationship with Fluent Api
-
29-10-2019 - |
Вопрос
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: : Multiplicity conflicts with the referential constraint in Role 'Attribute_ValueAttribute_Target' in relationship 'Attribute_ValueAttribute'. Because all of the properties in the Dependent Role are non-nullable, multiplicity of the Principal Role must be '1'.
Aaaaahhhh.....
Решение
public int ? ValueAttributeId { get; set; }
... the property needed to be null-able.
Не связан с StackOverflow