Mam problemy konfigurowania relacji klucza obcego w moim Entity Framework biegle API:Problemy tworząc relację klucza obcego w Entity Framework
Oto głowa raportu:
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; }
}
ten jest szczegół raportu
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; }
}
I to jest moja płynna definicja API obu. Głowica raportu:
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");
}
szczegółowości raportu:
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);
}
Na realizację I zawsze ten błąd
System.Data.Entity.Edm.EdmAssociationType:: Wielokrotność konflikty z ograniczeniem referencyjnym w roli "Dettaglio_TEST_TABLE_Target" w relacji "Dettaglio_TEST_TABLE". Ponieważ wszystkie właściwości w roli zależnej nie są zerowalne, wielość roli głównej musi mieć wartość "1".
Co, jak sądzę, oznacza, że coś zawodzę w definicji klucza obcego, ale tak naprawdę nie wiem, na co patrzeć. Każda pomoc/podpowiedź jest doceniana.
Bardzo dziękuję :), które rozwiązało – user2541621
To jest dobra odpowiedź – abelabbesnabi
"?" był kluczowym dodatkiem w moim przypadku. – jonas