加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在SubmitChanges()之前验证Linq2Sql

发布时间:2020-12-15 04:27:18 所属栏目:百科 来源:网络整理
导读:在调用SubmitChanges()之前,任何人都可以告诉我是否/如何在 Linq2Sql中验证数据上下文中的更改.我的情况是我创建一个上下文,执行多个操作并添加许多插入以及其他处理任务,然后如果提交失败则回滚. 我想做的是在完成某些任务后进行某种“Validate()”调用,这
在调用SubmitChanges()之前,任何人都可以告诉我是否/如何在 Linq2Sql中验证数据上下文中的更改.我的情况是我创建一个上下文,执行多个操作并添加许多插入以及其他处理任务,然后如果提交失败则回滚.

我想做的是在完成某些任务后进行某种“Validate()”调用,这样我就可以在提交整个作业之前处理它.

解决方法

要获取数据上下文中的所有更改,您可以调用
ChangeSet changes = dataContext.GetChangeSet();

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

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

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

我会指出这个工作,你将不得不编辑生成的代码,或滚动自己的值对象.我通常会自行推出,因为我将它们用于验证.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读