44 messaggi dal 17 maggio 2011
Ciao a tutti,
Non sono riuscito bene a capire il problema di questo errore :

L'introduzione del vincolo FOREIGN KEY 'FK_Certification_UM_UMUncertaintyId' nella tabella 'Certification' può determinare la creazione di cicli o più percorsi di propagazione. Specificare ON DELETE NO ACTION o ON UPDATE NO ACTION oppure modificare gli altri vincoli FOREIGN KEY.

Si verifica durante update-database.

Segue in fondo la mia entity
In pratica ho due foreing key verso UM che è la mia unità di misura.

PEr risolvere il problema ho dovuto creare 1 proprietà di navigazione

public virtual ICollection<Certification> Certifications { get; set; }

Che non ho ben idea cosa mi tiri su dato che le fereing key sono due.

E poi nel mio model buider

modelBuilder.Entity<Certification>(b =>
{
b.HasOne(e => e.UMUncertainty)
.WithMany(e => e.Certifications)
.HasForeignKey(e => e.Id)
.OnDelete(DeleteBehavior.Restrict);
});

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

        [Required(ErrorMessage = "Required")]
        public string Code { get; set; }

        [Required(ErrorMessage = "Required")]
        public string CertificationBody { get; set; }

        [Required(ErrorMessage = "Required")]
        public int LAT { get; set; }

        [Required(ErrorMessage = "Required")]
        public DateTime IssuedDate { get; set; }

        [Required(ErrorMessage = "Required")]
        public int Validaty { get; set; }

        [Required(ErrorMessage = "Required")]
        public DateTime ExpirationDate { get; set; }

        [Required(ErrorMessage = "Required")]
        public float Error { get; set; }

        [Required(ErrorMessage = "Required")]
        public int UMErrorId { get; set; }
        [ForeignKey("UMId")]
        public virtual UM UMError { get; set; }

        [Required(ErrorMessage = "Required")]
        public float Uncertainty { get; set; }

        [Required(ErrorMessage = "Required")]
        public int UMUncertaintyId { get; set; }
        [ForeignKey("UMUncertaintyId")]
        public virtual UM UMUncertainty { get; set; }

        [Required(ErrorMessage = "Required")]
        public int UncertaintyPercentage { get; set; }

        [Required(ErrorMessage = "Required")]
        public int GrossUncertainty { get; set; }

        [Required(ErrorMessage = "Required")]
        public float Repeatability { get; set; }

        [DefaultValue(false)]
        public bool AccrediaCertified { get; set; }

        public int InstrumentId { get; set; }
        [ForeignKey("InstrumentId")]
        public virtual Instrument Instrument { get; set; }
    }

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.