Я пытаюсь добавить некоторые архитектуры в свои проекты и обогатить свои модели. Я начал с CQS (реализация похожа на ту, что была одна: CQS-Sample), и вот моя первая проблема.Проверка модели, ограничения базы данных
Скажем, у меня есть два класса, как это показано ниже:
public class Network
{
public int Id { get; set; }
public User User { get; set; }
private IQueryFactory _queryFactory { get; set; }
public Network(IQueryFactory queryFactory)
{
_queryFactory = queryFactory;
}
public void AddUser(User user)
{
if(this.User == null && user != null)
{
userHasUniqueEmail(user);
this.User = user;
}
}
private void userHasUniqueEmail(User user)
{
bool isUnique = _queryFactory.ResolveQuery<INewUserUniqueQuery>().Execute(user.Email);
if (!isUnique)
{
throw new ArgumentException("E-mail is not unique");
}
}
}
public class User
{
public int Id { get; set; }
public string Email { get; set; }
}
объект сеть может иметь пользователь, но мне нужно проверить первый в базе данных, что данный адрес электронной почты уже не существует, или делать какие-то другие поверки , поэтому мои команды будут успешно выполнены. Добавляя пользователя, я имею в виду добавление абсолютно нового пользователя в базу данных. Правильно ли это будет?