2016-10-28 78 views
1

我正在使用控制檯應用程序將數據插入到項目文件夾中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.

請幫忙。

+0

拋出的任何錯誤?如果是EF6,請查看生成的SQL,在插入之前使用它並查看調試控制檯:db.Database.Log = Console.Write; – Oscar

+0

不會拋出任何錯誤或異常。唯一的區別是它說當我嘗試創建.edmx文件時它說:「您選擇的連接使用不在當前項目中的本地數據文件。是否要將其複製到項目中。」雖然.mdf文件在App_Data文件夾中,但我沒有在MVC中獲得。 –

+2

通常的原因是,當您構建項目並使用此副本時,您正在將mdf複製到輸出文件夾。 – sgmoore

回答

1

我回答這個問題形成的@sgmoore和@vipin給出的意見。

我更改了| DataDirectory |在App.config文件中的連接字符串中,以完整路徑解決了問題

謝謝。