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 ,所以我的命令將被成功執行。 通過添加用戶我的意思是將全新的用戶添加到數據庫。 這樣做是否正確?