私はSQL Server CEデータベースファイルを持っており、History
というADO.NET Entity Frameworkオブジェクトを持っています。最新のIDを取得するには、次の手順を実行します。SQL Server CEデータベースとADO.Net Entity Framework - データが保存されない
var historyid = (from id in db.Histories // Get the current highest history Id
select (Int32?)(id.Id)).Max();
HistoryID = Convert.ToInt32(historyid);
if (HistoryID == 0) // No current record exists
{
HistoryID = 1; // Set the starter history Id
}
(これは最善の方法ではありませんが、テストするだけです)。
これはうまく機能し、正しい値を返す(I手動1のIDを入力すると、それは.. 2等と同様、1を返す)
問題は、次のコードである:
History history = new History();
history.Id = 1;
history.SoftwareInstalled = "test";
db.AddToHistories(history);
db.SaveChanges();
上記は正常に動作しますが、変更はデータベースに保存されません。どうしてこれなの? dbDeSluggerEntities db = new dbDeSluggerEntities();
ありがとう:
は、ここに私のdb変数です。
編集:私はプログラムを実行してデバッグすると、ヒストリーが作成され、挿入されていることがわかりました。また、主キーのエラーも既に存在しています。アプリケーション(何度も何度も)。しかし、私がサーバエクスプローラに行き、dbを右クリックして 'Show Table Data'を選択すると、データは表示されません。プログラムが再び実行されると、主キーエラーまたは履歴がデバッグに表示されません!
接続文字列を表示できますか?あなたのアプリケーションが起動するたびにデータベースを再作成する可能性はありますか? –