Необходимо ли добавлять аннотацию [Требуется] либо к внешнему ключу, либо к свойству виртуальной навигации модели платформы Entity для предотвращения атаки при публикации?
У меня есть модели ниже. CompanyId - это внешний ключ, а модель Company
имеет CompanyName в качестве свойства [Required]. Имея в виду, что внешний ключ является недействительным int Существует ли риск недопустимого размещения атаки, если внешний ключ или свойство виртуальной навигации модели Employee
не помечено [Обязательно]. Если существует риск, оказывает ли добавление [Требуется] на любой из них какое-либо негативное влияние? Поскольку я включил отложенную загрузку и добавил [Обязательный] для свойства виртуальной навигации, необходимо инициализировать их перед сохранением Employee
модели.
[Table("Employee")]
pulic partial class Employee : Model
{
public override int Id {get;set;}
public int CompanyId {get;set;}
public string Name {get;set;}
[Required]
public virtual Company Company {get;set;}
}
[Table("Company")]
public partial class Company : Model
{
public override int Id {get;set;}
[Required]
public string CompanyName {get;set;}
public virtual Icollection<Employee> Employees {get;set;}
}
Эта модель структуры Entity имеет соответствующую модель представления EmployeeViewModel.
public class EmployeeViewModel
{
public int Id {get;set;}
public string Name {get;set;}
public int CompanyId {get;set;}
}