コンソールアプリケーションを使用して、プロジェクトフォルダのApp_Dataフォルダと.edmxファイルにある.mdfファイルにデータを挿入しています。エンティティフレームワークが.mdfファイルにデータを挿入しないのはなぜですか?
以下のコードはmvcでは動作しますが、コンソールアプリケーションでは動作しません。あるデータを挿入する
CREATE TABLE [dbo].[tbLegalDetails] (
[LegalStatusId] INT NOT NULL,
[LegalStatusName] TEXT NULL,
[LegalStatusHeading] TEXT NULL,
[PatentOfInvention] NVARCHAR (100) NULL,
[EventCode] VARCHAR (100) NULL,
[EventExplination] TEXT NULL,
[CCOfCorrespondingPatent] NVARCHAR (100) NULL,
[CorrespondingPatentD] INT NULL,
PRIMARY KEY CLUSTERED ([LegalStatusId] ASC)
);
コード:
表がある
ConsoleApplication__DynamicWebBrowserDatabaseEntities db = new ConsoleApplication__DynamicWebBrowserDatabaseEntities();
List<tbLegalDetail> hLegalDetaili = db.tbLegalDetails.ToList();
[Here count is shown as 0]
tbLegalDetail tbLegalDetail = new tbLegalDetail();
tbLegalDetail.LegalStatusId = 3;
tbLegalDetail.LegalStatusName = "INPADOC legal";
tbLegalDetail.LegalStatusHeading = "COMPOSITIONS ANDAPY";
tbLegalDetail.PatentOfInvention = "2003287377";
tbLegalDetail.EventCode = "FGA";
tbLegalDetail.EventExplination = "LETTSTANDARD PATENT";
tbLegalDetail.CCOfCorrespondingPatent = "dfs";
tbLegalDetail.CorrespondingPatentD = 1212;
db.tbLegalDetails.Add(tbLegalDetail);
db.SaveChanges();
List<tbLegalDetail> hLegalDetail = db.tbLegalDetails.ToList();
[Here count is shown as 1]
Console.ReadLine();
が、私は.mdfファイルのファイルに見たときに私が追加された行を参照してください傾けます。 もう一度実行すると、0とカウントされます。
助けてください。
エラーが発生しましたか? EF6の場合、生成されたSQLを見て、挿入する前にこれを使用して、デバッグコンソールを探します:db.Database.Log = Console.Write; – Oscar
エラーまたは例外はスローされません。唯一の違いは、「.edmxファイルを作成しようとすると、選択した接続が現在のプロジェクトにないローカルデータファイルを使用しています。プロジェクトにコピーしますか」 .mdfファイルはApp_Dataフォルダにありますが、私はMVCで取得しません。 –
これは通常、プロジェクトをビルドし、このコピーを使用しているときにmdfを出力フォルダにコピーしていることが原因です。 – sgmoore