エンティティフレームワークと共にSQL Server 2008をバックエンドデータベースとして使用するMVC Webアプリケーションがあります。アプリケーションは正常に動作しており、データベースからデータを引き上げるだけです。私の問題は、データの更新を行うと、保存されていないように見えるということです。私は以下の関数を使用しています:エンティティフレームワークで変更が保存されない
public void SaveProduct(Product product)
{
if (product.ProductID == 0)
{
context.Products.Add(product);
}
context.SaveChanges(); // Breakpoint here
}
この関数はマイレポジトリコードで定義されています。私は上記のコメント行にブレークポイントを設定し、アプリケーションはその行で壊れているので、その行が当たっていることを知っていて、変更はコンテキストオブジェクト内ですべてうまくいきます。エラーは発生せず、EFは単に何らかの理由で変更を保存していません。
<connectionStrings>
<add name="EFDbContext" connectionString="Data Source=localhost;Initial Catalog=WarehouseStore;Integrated Security=True;Pooling=False" providerName="System.Data.SqlClient"/>
</connectionStrings>
誰もがこれを引き起こす可能性がどのように任意のアイデアを持っている:
私は私の接続文字列は、そのだけで罰金データを引っ張っているので、正確であるが、ここでは念のためであると考えていますか?
SQL Serverに対して実行していると仮定して:-) SQLプロファイラを有効にして、EFがDBにクエリを送信しているかどうかを確認してください。すべてのセーブチェンジが完了する前に、EFからのプロファイラのログインエントリがあるはずです。 –
'context.Products.Add(product);を打つのをチェックしましたか?そうでなければ何も保存されていません。 – veblock
@ Ricky.G - 良いアイデア、私はそれを試してみる – Icemanind