标记某些实体DeleteOnSubmit()的最佳方法是什么。有没有办法检查并说明这是删除?
示例:我有一个引用EntitySet的实体<>我从EntitySet中删除<> 8个实体中的4个。提交更改时,我想在那些4上说DeleteOnSubmit()!此方案应在单个EntityRef<>上播放太
当然,DataContext存在于另一层,因此......抓取,更改,发送回是工作。
谢谢。
答案 0 :(得分:1)
根据您的架构描述,这很难回答。仅仅因为你使用分层方法并不意味着你不能调用DeleteOnSubmit
...你只需要调用自己的方法来包装我认为的。
当然,除非您在更新例程中实例化DataContext对象。在这种情况下,你必须做其他事情。您的数据层可以公开像MarkForDelete()
这样的方法,它只是将实体添加到集合中,然后公开一个单独的SubmitChanges()
,它迭代收集的项目以进行删除,将它们附加到datacontext然后执行实际操作。 DeleteAllOnSubmit()
致电。
那说我从来没有真正打扰整个实体序列化/反序列化/重新附加的东西,因为它似乎fraught with peril。我通常只是在列表中收集主键,选择实体并重新删除它们。真的,这不再是工作了。
答案 1 :(得分:0)
看一下DeleteAllOnSubmit()。您将此方法传递给要删除的实体列表。