验证模型唯一性的最佳方法是什么?例如,确保只有一个用户可以拥有某个用户名。
我正在使用存储库模式与数据库进行交互,所以我应该将check int放在那里吗?如果是这样,我该如何将其过滤回模型?
由于
答案 0 :(得分:2)
您是否也在数据库中强制执行此约束?
答案 1 :(得分:0)
向UserRepository添加一个方法,以查找UserName是否正在使用中。 UserRepository可以在User.Save
上执行此验证public class UserRepository {
private bool IsUserNameInUse(string userName) {
return false;
}
private bool IsUserNameInUse(int userId, string userName) {
// Verify no record other than the userid submitted is using the username
return false;
}
public void Save(User userToSave) {
if (IsUserNameInUse(userToSave.UserName)) throw new Exception();
}
}