我正在使用控制台应用程序将数据插入到项目文件夹中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