Asp.net 使用ICollection显示模型类中的外键关系
我有一个具有外键关系的模型类Asp.net 使用ICollection显示模型类中的外键关系,asp.net,asp.net-mvc,asp.net-mvc-4,model,foreign-keys,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Model,Foreign Keys,我有一个具有外键关系的模型类 public class AppointmentModel { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int AppointmentId { get; set; } [Required] public string AppointmentTime { get; set; } [Required] public int
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; }
[ForeignKey(“VisitorId”)]
公共ICollection访问者{get;set;}
您应该使用哪种关系取决于您需要的是1:1关系还是1:n关系
由于每个AppointModel都有一个VisitorId,因此每个AppointModel将有一个访问者。因此navigationproperty是单个实例,没有集合