使用IDataErrorInfo在MVVM中执行验证时,我应该在哪里检查数据库中是否已经存在值?
|
在开始使用所有MVVM内容之前,我关注着Josh Smith的这篇帖子,讨论了使用MVVM时的验证方法。这个例子很简单,我开始怀疑如何在自己的应用程序中使用它。
在BLL中,我有一个
BookInfo
类,该类实现IDataErrorInfo以报告无效值,例如\“发布日期不能在将来\”或\“页数不能为负\”。然后,我的ѭ1check将检查新创建的BookInfo
的状态,发现存在错误,并且AddBookView
将在适当的TextBox旁边显示一个红色的blob。这些内容很简单,就像帖子中的示例一样。
现在我的BookInfo
班级还拥有作者ID列表。在向数据库中添加新的BookInfo之后,我需要检查那些作者ID是否已经存在。
是否应在我的BookInfo
班级进行此项检查?如果是这样,那么我将必须将BLL的AuthorManager
对象传递给BookInfo
\的构造函数,因为前者将包含诸如CheckIfExists(int authorID)
之类的方法。
这是推荐的方法吗?如果数据库中有很多记录怎么办?动态检查会影响性能吗?
另一方面,在BookInfo
类中执行某些检查以及在其他地方进行某些检查似乎有些混乱……尤其是当所有这些检查都可以归类到同一组时。确保新创建的“ 0”对象有效。或者也许我错了,因为我真的没有足够的经验来做出正确的判断。
一些指导?
没有找到相关结果
已邀请:
2 个回复
茂坦湿床够
痴浪墨