0

所以这是我的代码

var r = (from c in db.veClientes where c.Codigo.Equals(cod) select c).FirstOrDefault();
db.veClientes.DeleteOnSubmit(r);
try
{
    db.SubmitChanges();
}
catch
{
    r.DeBaja = 'S';
    db.SubmitChanges();
}

基本上我得到一个客户端,尝试删除它,如果我不能更新客户端并将字段设置为“S”。问题是第二次 submitChanges 仍然要执行删除,又失败了,因为关系我无法删除,所以我只是禁用了该项目。如何刷新更改,以便我只更新而不是删除和更新?

4

2 回答 2

1

试试这种方式: -

var r = (from c in db.veClientes where c.Codigo.Equals(cod) select c).FirstOrDefault();
try
{
    r.DeBaja = "S";
    db.SubmitChanges();
}
catch (Exception e)
{
    Console.WriteLine(e);
}
于 2012-05-28T19:57:38.603 回答
0

尝试这个:

try
{
    db.SubmitChanges();
}
catch
{
    db.Refresh(RefreshMode.OverwriteCurrentValues, r);
    r.DeBaja = 'S';
    db.SubmitChanges();
}
于 2012-05-28T19:54:25.637 回答