【问题标题】:showing foreign key relationship in model class using ICollection使用 ICollection 在模型类中显示外键关系
【发布时间】:2020-12-09 23:32:28
【问题描述】:

我有一个具有外键关系的模型类,

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; }

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-4 model foreign-keys


    【解决方案1】:

    您应该使用哪一个取决于您需要 1:1 关系还是 1:n 关系。

    由于每个 AppointmentModel 都有一个 VisitorId,因此每个 AppointmentModel 将有一个 Visitor(无)。所以navigationproperty是一个单一的实例,没有集合。

    【讨论】:

      猜你喜欢
      • 2010-10-11
      • 2010-09-26
      • 2020-04-20
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多