public partial class Customer
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
[Required(ErrorMessage = "Нам важно знать как обращаться к вам")]
[MaxLength(100, ErrorMessage = "Мы сожалеем, но нам сложно обращаться к вам с таким длинным именем")]
public string AllName { get; set; }
[EmailAddress]
public string Email { get; set; }
[Required(ErrorMessage = "Нам необходим ваш номер телефона для связи с вами")]
[RegularExpression(@"^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$")]
public string Phone { get; set; }
[Required(ErrorMessage = "Нам необходимо знать область и город доставки")]
[MaxLength(200, ErrorMessage = "Название области и города слишком длинное, возможно вы ввели полный адресс не в то поле")]
public string City { get; set; }
[Required(ErrorMessage = "Нам необходимо знать адресс доставки")]
[MaxLength(200, ErrorMessage = "Адресс слишком длинный, возможно вы ввели название города и области не в то поле")]
public string Address { get; set; }
[Required]
[MaxLength(30)]
public string DeliveryType { get; set; }
[StringLength(400, ErrorMessage = "Ваши пожелания слишком длинные, мы свяжемся с вами по телефону как только вы оформите заказ, и учтем ваши пожелания")]
public string Additional { get; set; }
[Required]
[DefaultValue(false)]
public bool Processed { get; set; }
[Required]
[DefaultValue(false)]
public bool Complete { get; set; }
[DefaultValue(false)]
public bool Hidden { get; set; }
public DateTime Date { get; set; }
public User User { get; set; }
public int CartID { get; set; }
[Required]
[ForeignKey("CartID")]
public virtual Cart Cart { get; set; }
}
}
ну с учётом вот этого класса кастомер у тебя получается, что кастомер и корзина зависят всегда один к одному тогда по меньшей мере не нужно дублировать навигационные поля в классах
Обсуждают сегодня