Problemas al crear una relación de clave externa en Entity Framework

Estoy teniendo problemas para configurar una relación de clave externa en mi Enti Framework fluida Api:

Aquí está el jefe del informe:

 public class Testata
{
    public Testata() { Details = new List<Dettaglio>(); }
    public virtual int IDTEST { get; set; }
    public virtual string Value { get; set; }
    public virtual int IDDETAIL { get; set; }
    public virtual string IDTESTALT { get; set; }
    public virtual byte[] BLOB { get; set; }

    public virtual IList<Dettaglio> Details { get; set; }
}

Este es el detalle del informe.

public class Dettaglio
{
    public virtual int IDDETAIL { get; set; }
    public virtual int IDTEST { get; set; }
    public virtual string DSDETAIL { get; set; }

    public virtual Testata TEST_TABLE { get; set; }
}

Y esta es mi definición de API fluida de ambos. Jefe del informe:

public TEST_TABLEMap()
    {
        // Primary Key
        this.HasKey(t => t.IDTEST)
            .Property(t => t.IDTEST)
            .IsRequired()
            .HasColumnType("Int")
            .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
            .HasColumnName("IDTEST");


        // Table & Column Mappings
        this.ToTable("TEST_TABLE");
        this.Property(t => t.Value).HasColumnName("DSVALUETEST");
        this.Property(t => t.IDTESTALT).HasColumnName("IDTESTALT");
        this.Property(t => t.BLOB).HasColumnName("BLOB");
    }

Detalle del informe:

public TEST_DETAILMap()
    {
        // Primary Key
        this.HasKey(t => t.DSDETAIL);

        // Properties
        this.Property(t => t.DSDETAIL);

        // Table & Column Mappings
        this.ToTable("TEST_DETAIL");
        this.Property(t => t.IDDETAIL).HasColumnName("IDDETAIL");
        // this.Property(t => t.IDTEST).HasColumnName("IDTEST");
        this.Property(t => t.DSDETAIL).HasColumnName("DSDETAIL");

        // Relationships
        this.HasOptional(t => t.TEST_TABLE)
            .WithMany(t => t.Details)
            .HasForeignKey(d => d.IDDETAIL).WillCascadeOnDelete(true);

    }

En la ejecución siempre me sale este error

System.Data.Entity.Edm.EdmAssociationType:: La multiplicidad entra en conflicto con la restricción referencial en el rol 'Dettaglio_TEST_TABLE_Target' en la relación 'Dettaglio_TEST_TABLE'. Debido a que todas las propiedades en el rol dependiente no son anulables, la multiplicidad del rol principal debe ser '1'.

Lo que, supongo, significa que estoy fallando algo en la definición de la clave externa, pero realmente no sé dónde mirar. Cualquier ayuda / sugerencia es muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta