我有一个奇怪的情况
我有3个实体:
public class Product
{
public virtual int id {get;set;}
}
public class Media
{
public virtual ICollection<MediaProduct> mediaProducts {get;set;}
}
public class MediaProduct
{
public virtual int id {get;set;}
public virtual Media media {get;set;}
public virtual Product product {get;set;}
public virtual int productId { get; set; }
public virtual int mediaId { get; set; }
}
正如您在我的产品实体中所看到的,我没有对MediaProduct的引用,我无法改变它。
我不知道如何映射这些实体。
我的映射类是
public class MediaProcutMap : EntityTypeConfiguration<MediaProduct>
{
public MediaProcutMap()
{
this.ToTable("Media_Product_Mapping");
this.HasKey(pc => pc.Id);
this.HasRequired(pc => pc.media)
.WithMany(c => c.mediaProducts)
.HasForeignKey(pc => pc.mediaId);
//this.HasRequired(pc => pc.product) ???
}
}
但它不起作用
请帮帮我
马
答案 0 :(得分:1)
WithMany
的重载不带参数。
public class MediaProcutMap : EntityTypeConfiguration<MediaProduct>
{
public MediaProcutMap()
{
this.ToTable("Media_Product_Mapping");
this.HasKey(pc => pc.Id);
this.HasRequired(pc => pc.media)
.WithMany(c => c.mediaProducts)
.HasForeignKey(pc => pc.mediaId);
this.HasRequired(pc => pc.product).
.WithMany()
.HasForeignKey(pc => pc.productId);
}
}