0
我试图添加一些架构到我的项目和丰富我的模型。 我从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; }
}
网络对象可以有用户,但我需要先检查数据库中给出的电子邮件已不存在,或做一些其他的checkings ,所以我的命令将被成功执行。 通过添加用户我的意思是将全新的用户添加到数据库。 这样做是否正确?