3

ダウンロードしたファイルの記録を保持するために作成している小さなデータベース アプリケーションに Entity Framework 4 を使用しようとしています。アプリケーションを実行するとき、tableName.Add() メソッドの後、.SaveChanges() メソッドの前にブレーク ポイントを設定すると、エンティティに保存されたデータを確認できます。次に、.SaveChanges() メソッドを呼び出した後に別のブレーク ポイントがあり、データベースを調べて、保存されているレコードがないことを確認します。同様の質問がたくさん見つかりましたが、特定の問題の解決策が見つかりませんでした。コードは次のとおりです。

    public void StartNewDownload(string FileID)
    {
        DateTime startTime = DateTime.Now;

        FilesDBEntities db = new FilesDBEntities();
        int startedID = (from dr in db.tblDownloadResults
                         where dr.Value.Equals("Started")
                         select dr.ResultID).First();
        tblDownloads myDownload = new tblDownloads { FileID = FileID, StartDateTime = startTime, ResultID = startedID };
        db.tblDownloads.Add(myDownload);
        db.SaveChanges();
    }

どんな助けでも大歓迎です。

ありがとう!

4

2 に答える 2

5

パウエル、あなたは私を正しい方向に導いてくれました。エンティティにはデータがありましたが、私が調べていたデータベースにはありませんでした。しかし、コメントを読んだ後、Visual Studioからプログラムを実行し、ProcessMonitorを使用して*.sdfファイルへの操作を監視しました。これは、ソリューションを構築するときに、bin\Debugフォルダーに別のデータベースファイルを作成することを見つけるのに役立ちました。データベースのビルドアクションプロパティが「コンテンツ」として設定されているのを忘れました。

ありがとう!!

于 2012-10-23T23:04:55.507 に答える
0

SQL Server Profilerを使用して、エンティティフレームワークが実際にデータベースを呼び出しているかどうかを確認できます。

(このツールはSQL Server Expressには含まれていません)

于 2012-10-23T05:48:20.523 に答える