我正在尝试将实体框架4用于我写的小型数据库应用程序,以保留下载文件的记录。运行应用程序时,我在.savechanges()方法之前设置了tabename.add()方法之后的断点。我可以看到保存到实体中的数据;然后,我在调用.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();
}
任何帮助都将不胜感激。
谢谢!
pawel,您向我指导我的方向正确。该实体有数据,但是我正在研究的数据库没有。但是,在阅读了您的评论后,我从Visual Studio和使用Process Monitor运行了该程序,以监视 *.sdf文件的任何操作。这有助于发现在构建解决方案后,它将为bin debug文件夹创建另一个数据库文件。我忘记了数据库构建操作属性被设置为"内容"。
谢谢!
您可以使用SQL Server Profiler查看实体框架是否真正称为数据库。
(SQL Server Express中未包含该工具)