0

したがって、WebAPIコントローラーにこのメソッドがあります。

public HttpResponseMessage Post(Model model)
{
   using(var dc = new DataContext())
   {
      dc.MyData.Add(model);
      dc.SaveChanges();
   }   
   //logic that requires the data to be saved first
   using(var dc = new DataContext())
   {
      dc.MyData.Find(model.ID); //this returns null, even tho in the DB I see my model get added to MyData
   }
}

最初のusingステートメントはデータベースに保存されますが、2 番目のusingステートメントは新しく追加されたデータを見つけることができません。または通常の MVC コントローラーでは、2 番目の using ステートメントは期待どおりに機能します。

2 番目のステートメントがWebAPI からusingのレコードを見つけられない理由はありますか?MyData

4

1 に答える 1

0

ID は、Entity Framework のバックグラウンドで生成されます。パラメータから取得したため、使用している ID はおそらく 0 です。

Add メソッドが成功した場合、上記のステートメントは最後に挿入された項目を返す必要があります。これが目的です。

using(var dc = new DataContext())
{
  var myModel = dc.MyData.Last();
}
于 2013-09-10T19:03:16.553 に答える