我的应用中有一些模型如下:
public class Enquiry
{
[Key]
[Required]
public int EnquiryID { get; set; }
[Required]
[Display(Name = "Enquiry Type:")]
public virtual int EnquiryTypeID { get; set; }
public virtual EnquiryType EnquiryType { get; set; }
public virtual ICollection<DeliveryType> DeliveryTypes { get; set; }
}
public class EnquiryType
{
[Key]
public int EnquiryTypeID { get; set; }
[Display(Name = "Enquiry Type:")]
[MaxLength(100)]
public string EnquiryTypeName { get; set; }
}
public class DeliveryType
{
[Key]
public int DeliveryTypeID { get; set; }
public int EnquiryID { get; set; }
public string DeliveryName{ get; set; }
}
所以它的主旨是。我有一个询问,每个询问有一种询问类型(销售,一般,技术等..)所以这是一对一的关系。然后,每个查询都可以附加多个DeliveryType,因此它是一对多的关系。
我的问题是,我是否正确使用上面的模型进行了设置?我错过了什么吗?我是否在错误的地方设置虚拟/未正确设置?我是否需要EnquiryID
在我的DeliveryType模型中?
答案 0 :(得分:1)
您在DeliveryType模型上不需要EnquiryID。但是,查询上的EnquiryTypeID不应该是虚拟的。我会这样设置:
public class Enquiry
{
[Key]
[Required]
public int EnquiryID { get; set; }
[Required]
[Display(Name = "Enquiry Type:")]
public int EnquiryTypeID { get; set; }
public virtual EnquiryType EnquiryType { get; set; }
public virtual ICollection<DeliveryType> DeliveryTypes { get; set; }
}
public class EnquiryType
{
[Key]
public int EnquiryTypeID { get; set; }
[Display(Name = "Enquiry Type:")]
[MaxLength(100)]
public string EnquiryTypeName { get; set; }
}
public class DeliveryType
{
[Key]
public int DeliveryTypeID { get; set; }
public string DeliveryName{ get; set; }
}