实体框架4 SaveChanges方法不保存到数据库

时间:2012-10-23 01:01:10

标签: entity-framework-4 savechanges

我正在尝试将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();
    }

感谢任何帮助。

谢谢!

2 个答案:

答案 0 :(得分:5)

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

谢谢!

答案 1 :(得分:0)

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

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