我们正在尝试创建一个模型VENUE,它既包含一个IMAGE(在其详细信息页面中使用),也包含一个图像滑块的IMAGES集合。 我们可以做一个或另一个,但最后添加2x 1:1的关系。 我们如何在模型中以这种方式建立两个连接? 所以基本上我们有:
public int? ImageID {get; set;}
public virtual Image DefaultImage {get; set;}
但也想添加:
public virtual ICollection Images {get; set;}
或者有更好的,更推荐的方法吗?
干杯
答案 0 :(得分:1)
将此作为您的Fluent Api使用:
.HasOptional(v => v.DefaultImage)
.WithRequired()
.WillCascadeOnDelete(false);
.HasMany(v => v.Images)
.WithRequired()
.WillCascadeOnDelete(false);
这适用于您在问题中使用的Venue
模型,并且Image
模型中不需要任何虚拟属性。
答案 1 :(得分:0)
我们使用注释和迁移来表示我们的映射并不流畅,但结果却相当简单。
public int? ImageID { get; set; }
[Display(Name = "Default Image")]
public virtual Image Image { get; set; }
public virtual ICollection<Image> Images { get; set; }