【发布时间】:2016-11-24 20:39:20
【问题描述】:
我正在使用控制台应用程序将数据插入到 App_Data 文件夹中的 .mdf 文件和项目文件夹中的 .edmx 文件中。
以下相同的代码适用于 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;
-
没有没有抛出错误或异常。唯一的区别是它说当我尝试创建 .edmx 文件时它说“您选择的连接使用了一个不在当前项目中的本地数据文件。您想将它复制到项目中吗?”尽管 .mdf 文件位于 App_Data 文件夹中,但我没有进入 MVC。
-
通常的原因是您在构建项目时将 mdf 复制到输出文件夹并且它正在使用此副本。
-
我可以在调试文件夹中看到 .pdb 文件。
-
任何人都可以尝试运行代码。或许你能找到问题所在。
标签: c# entity-framework console-application