在 SubmitChanges() 之前验证 Linq2Sql

2024-02-10

谁能告诉我是否/如何验证 Linq2Sql 中数据上下文中的更改before调用 SubmitChanges()。我遇到的情况是,我创建一个上下文,执行多个操作并添加许多插入以及其他处理任务,然后在提交失败时回滚。

我更喜欢做的是在完成某些任务后进行某种“Validate()”调用,以便我可以在提交整个作业之前处理它。


要获取数据上下文中的所有更改,您可以调用

ChangeSet changes = dataContext.GetChangeSet();

// An IList<Object>
changes.Deletes;
changes.Inserts;
changes.Updates;

我所拥有的是每个值对象都有一个验证方法。我使用属性来定义不同类型的验证。我手动执行此操作的原因是因为我在数据库和代码中有一个可能是 int 的数字,如果我保存年龄,则值 1002 可能无效。所以我可以给出一个值的范围等等。 。

如果每个值对象都继承自基础对象,则可以更轻松地迭代它们。假设您的基类有一个 Validate 方法。

我想指出,要使其发挥作用,您必须编辑生成的代码,或者滚动您自己的值对象。我通常会自己推出,因为我如何使用它们进行验证。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 SubmitChanges() 之前验证 Linq2Sql 的相关文章

随机推荐