2009-08-04 182 views
0

验证模型唯一性的最佳方法是什么?例如,确保只有一个用户可以拥有某个用户名。ASP.NET MVC - 验证模型的唯一性

我正在使用存储库模式与数据库交互,所以我应该把检查int放在那里?如果是这样,我如何得到这个过滤回模型?

感谢

+0

为什么你不只是发布一些代码?模式是一件抽象的事情...... – User 2009-08-04 13:04:36

回答

0

添加一个方法你UserRepository查找用户名是否在使用中。 UserRepository可以在User.Save上执行此验证.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(); 
    } 

} 
2

您是否还在数据库中实施此约束?

+0

不,现在不是。 LINQ to SQL是否会解决这个问题? – Ryan 2009-08-04 13:34:24