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」に設定する必要がない場合は、削除してみてください。問題は、2番目の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 に答える