Где добавить атрибуты проверки в ASP.NET Core 8: модель или DTO?C#

Место общения программистов C#
Ответить
Anonymous
 Где добавить атрибуты проверки в ASP.NET Core 8: модель или DTO?

Сообщение Anonymous »

Я изучаю ASP.NET Core 8 и пытаюсь понять лучшие практики применения атрибутов проверки к данным.
У меня есть ситуация, когда я использую и модель, и DTO в моем проекте. Например:
  • Модель представляет структуру данных в моей базе данных.
  • DTO используется для передачи данных между уровнями (например, контроллерами и службами).
Я не понимаю, куда мне следует добавить атрибуты проверки. Следует ли их добавлять в модель, DTO или и то, и другое?
Будет ли дублирование проверок в обоих классах считаться плохой практикой?
< strong>Пример кода:

Код: Выделить всё

//Model Class

public class User
{
public int Id { get; set; }

[Required]
[StringLength(50)]
public string Name { get; set; }

[EmailAddress]
public string Email { get; set; }
}

Код: Выделить всё

//DTO
public class CreateUserDto
{
[Required]
[StringLength(50)]
public string Name { get; set; }

[EmailAddress]
public string Email { get; set; }
}
Так необходимо ли дублировать атрибуты проверки в CreateUserDto, даже если те же проверки существуют в модели User?
Я пытаюсь следовать передовому опыту, но не уверен, что дублирование проверок в модели и DTO является правильным подходом.
Любой совет по этому поводу будет очень полезен. оценил

Подробнее здесь: https://stackoverflow.com/questions/791 ... del-or-dto
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»