我试图使用实体框架4为我正在写的小型数据库应用程序保留下载文件的记录。在运行应用程序时,我在.SaveChanges()方法之前设置了tableName.Add()方法之后的断点,并且我可以看到保存到实体中的数据;那么在调用.SaveChanges()方法之后我有另一个断点,并查看数据库以查找没有记录保存到它。我发现了很多类似的问题,但我还没有找到解决我的特定问题的方法。这里是代码:实体框架4 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();
}
任何帮助表示赞赏。
谢谢!
如何“查看数据库”?你有没有尝试阅读你的应用程序中的实体?它有用吗?我见过很多情况,那些使用CodeFirst并且在他们改变了某些内容后查看错误数据库的人以及CodeFirst创建了一个保存数据的新数据库。如果你可以阅读你的应用程序中保存的内容,这意味着数据被保存在某处。 – Pawel
Pawel,谢谢你的回复。我可以看到这是一个潜在的原因。将调查并报告。谢谢。 –
你总是可以使用'((IObjectContext)ctx).ObjectContext).Connection.ConnectionString'来获取连接字符串,它会告诉你你打哪个数据库。 – Pawel