如何解决使用ICollection在模型类中显示外键关系
我有一个具有外键关系的模型类,
public class AppointmentModel
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int AppointmentId { get; set; }
[Required]
public string AppointmentTime { get; set; }
[Required]
public int AppointmentRoom { get; set; }
[ForeignKey("VisitorId")]
public VisitorModel Visitors { get; set; }
public int VisitorId { get; set; }
}
public class VisitorModel
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int VisitorId { get; set; }
[Required]
public string VisitorName { get; set; }
public int VisitorAddr { get; set; }
}
但是我发现将外键类定义为ICollection
。两种声明类型有什么区别?我们应该使用哪一个?
[ForeignKey("VisitorId")]
public ICollection<VisitorModel> Visitors { get; set; }
解决方法
您应该使用哪种关系取决于您是否需要1:1关系或1:n关系。
由于每个AppointmentModel都有一个VisitorId,所以每个AppointmentModel都会有一个Visitor(否)。因此,navigationproperty是一个实例,没有任何集合。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。