tôi đang gặp rắc rối cấu hình một mối quan hệ khóa ngoại trong Entity Framework Api thạo của tôi:vấn đề tạo ra một mối quan hệ ngoại-Key trên Entity Framework
Dưới đây là người đứng đầu của báo cáo:
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; }
}
này là chi tiết của báo cáo
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; }
}
Và đây là định nghĩa API thông thạo của tôi về cả hai. Trụ sở của báo cáo:
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");
}
chi tiết của báo cáo:
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);
}
On thi tôi luôn luôn nhận được lỗi này
System.Data.Entity.Edm.EdmAssociationType:: Đa dạng xung đột với ràng buộc tham chiếu trong Vai trò 'Dettaglio_TEST_TABLE_Target' trong mối quan hệ 'Dettaglio_TEST_TABLE'. Vì tất cả các thuộc tính trong Vai trò phụ thuộc đều không có giá trị, nên tính đa dạng của Vai trò chính phải là '1'.
Mà, tôi đoán, có nghĩa là tôi đang thất bại ở định nghĩa khóa ngoại, nhưng tôi thực sự không biết phải nhìn vào đâu. Bất kỳ trợ giúp/gợi ý nào được đánh giá cao.
Cảm ơn bạn rất nhiều :) đã giải quyết – user2541621
Đây là câu trả lời hay nhất – abelabbesnabi
'?' là sự bổ sung quan trọng trong trường hợp của tôi. – jonas