Asp.net mvc 4 在mvc4中声明自关联多对多
我想说的是,一种药物可以有一种或多种类似的药物,因此它是一种多对多的自我关系 试图以这种方式解决这个问题Asp.net mvc 4 在mvc4中声明自关联多对多,asp.net-mvc-4,Asp.net Mvc 4,我想说的是,一种药物可以有一种或多种类似的药物,因此它是一种多对多的自我关系 试图以这种方式解决这个问题 [Key] [Column(Order = 0)] [ForeignKey("drug_name")] public string drug_name1 { get; set; } [Key] [Column(Order = 1)] [ForeignKey("drug_name")] public string drug_na
[Key]
[Column(Order = 0)]
[ForeignKey("drug_name")]
public string drug_name1 { get; set; }
[Key]
[Column(Order = 1)]
[ForeignKey("drug_name")]
public string drug_name2 { get; set; }
public virtual Drug drug_name { get; set; }
public virtual Drug drug_name { get; set; }
当然它不起作用。我不太明白外文表中相关字段的名称。我需要其中的两个:drug1和drug2,但名称应该与相关类中的名称相同,但我不能为两个字段指定相同的名称。那么我如何才能做到这一点呢?您所拥有的几乎是完全错误的,所以让我告诉您正确的方法:
public class Drug
{
[Key]
public int DrugId { get; set; }
...
public virtual ICollection<Drug> SimilarDrugs { get; set; }
public class DrugMapping : EntityTypeConfiguration<Drug>
{
public DrugMapping()
{
HasMany(m => m.SimilarDrugs).WithMany();
}
}
}
为了
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new Drug.DrugMapping());
}