3

我正在尝试将 Entity Framework 4 用于我正在编写的小型数据库应用程序,以记录下载的文件。运行应用程序时,我在 tableName.Add() 方法之后、.SaveChanges() 方法之前设置了一个断点,我可以看到保存到实体中的数据;然后我在调用 .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();
    }

任何帮助表示赞赏。

谢谢!

4

2 回答 2

5

帕维尔,你引导我朝着正确的方向前进。该实体有数据,但我正在查看的数据库没有。但是在阅读了您的评论后,我从 Visual Studio 运行了该程序并使用 Process Monitor 来监视对 *.sdf 文件的任何操作。这有助于发现在构建解决方案时,它会在 bin\Debug 文件夹中创建另一个数据库文件。我忘记了数据库构建操作属性设置为“内容”。

谢谢!!

于 2012-10-23T23:04:55.507 回答
0

您可以使用SQL Server Profiler来查看实体框架是否真的调用了数据库。

(该工具不包含在 SQL Server Express 中)

于 2012-10-23T05:48:20.523 回答