2017-03-17 4 views
0

を返しますが、変数は、var uamToUpdate = context.tbl_UAM.SingleOrDefault(UpDateuam => uamId == uam.Id);uam.Idが私if文でそう常に0である0変数は、私は、行を掘ると、データベースにそれを更新しようとしているゼロ

 int uamId = Convert.ToInt32(lblId.Text); 
     tbl_UAM uam = new tbl_UAM(); 
     using (var context = new DemoDbEntities()) 
     { 
      var uamToUpdate = context.tbl_UAM.SingleOrDefault(UpDateuam => uamId == uam.Id); 
      if(uamToUpdate!=null) 
      { 
       uamToUpdate.MDMRefNumber = tbxMDMRefNum.Text; 
       uamToUpdate.SARId = tbxSARId.Text; 
       uamToUpdate.DateOfBirthInGreenCard = tbxDoBGreenCard.Text; 
       uamToUpdate.DateOfBirthUAM = tbxDoBUAM.Text; 
      } 
      context.SaveChanges(); 
     } 

を返し続けます答えは常に偽であり、私はそれを更新できません。 uam.Idは常に0を返すと私は間違って何をしていますか?

私はあなたがこの意味だと思いますが、2行目

をUAMをintializingている

+3

2行目には、tbl_UAM uam = new tbl_UAM()があります。 uamオブジェクトの新しいIDをインスタンス化しますか?そうでない場合は、一致するIDを持たないので、結果は常に0になります –

答えて

3

私はあなたがこれを意味だと思います(述語をSingleOrDefaultに見てください)

int uamId = Convert.ToInt32(lblId.Text); 
     tbl_UAM uam = new tbl_UAM(); 
     using (var context = new DemoDbEntities()) 
     { 
      var uamToUpdate = context.tbl_UAM.SingleOrDefault(upDateuam => upDateuam.Id == uamId); 
      if(uamToUpdate!=null) 
      { 
       uamToUpdate.MDMRefNumber = tbxMDMRefNum.Text; 
       uamToUpdate.SARId = tbxSARId.Text; 
       uamToUpdate.DateOfBirthInGreenCard = tbxDoBGreenCard.Text; 
       uamToUpdate.DateOfBirthUAM = tbxDoBUAM.Text; 
      } 
      context.SaveChanges(); 
     } 
+0

どうすればそれを見ることができます!!!!!!!!!!!!!私は朝からこれにいました!おかげでたくさんの仲間 – Ali

+1

Np。たわごとが起こる –

2

:私はあなたがこれを行うためのものだと思います

int uamId = Convert.ToInt32(lblId.Text); 
using (var context = new DemoDbEntities()) 
    { 
     var uamToUpdate = context.tbl_UAM.SingleOrDefault(UpDateuam => UpDateuam.Id == uamId); 
     if(uamToUpdate!=null) 
     { 
      uamToUpdate.MDMRefNumber = tbxMDMRefNum.Text; 
      uamToUpdate.SARId = tbxSARId.Text; 
      uamToUpdate.DateOfBirthInGreenCard = tbxDoBGreenCard.Text; 
      uamToUpdate.DateOfBirthUAM = tbxDoBUAM.Text; 
     } 
     context.SaveChanges(); 
    } 
2

を:

var uamToUpdate = context.tbl_UAM.SingleOrDefault(UpDateuam => UpDateuam.Id == uamId); 
0

uam.Idを新しく作成されたインスタンスである述語に比較する理由は何ですか?したがって、常にゼロになり、データベースにレコードが見つかりません。あなたの状態は失敗しています。

関連する問題