我正在使用http://msdn.microsoft.com/en-us/data/jj591506中的教程自学有关实体框架。我正在使用下面的代码。
using (var db = new DatabaseEntities())
{
var section = new Section
{
SectionID = 1,
SectionName = "Bob"
};
db.Sections.Add(section);
db.SaveChanges();
}
由于某种原因,此代码未写入我的数据库。没有错误被抛出。你有什么想法我可以看到或可能是什么原因?这是上面链接的MSDN页面上示例给出的几乎完全相同的副本。
此问题看起来与此问题中发生的情况非常相似:Entity Framework not actually saving changes不幸的是,回答此问题的人没有解释他们如何解决问题。他们解释说他们检查了SQL转到了数据库,经过一番调查后发现他们在项目中有一份数据库副本就好了,在重建时它超出了输出中的数据库。我的问题是我不知道如何阻止这种情况发生。你能帮忙吗?
我也看过:
答案 0 :(得分:3)
所以我最终接受了上面的建议,不幸的是创建了一个新的项目,但是没有用。谷歌搜索10小时后,我找到了解决方案。我怀疑数据库正在重建。
要防止重建数据库,请在解决方案资源管理器中右键单击它,然后转到属性。在属性下找到属性Copy to output directory
并将值更改为Do not copy
。
这实际上破坏了我的代码,因为数据库不在输出目录中。为了使程序再次工作,我不得不手动将数据库的副本放在我的调试目录中。对于我的项目。在带有Visual Studio 2012的Windows 8中,它位于:
%UserProfile%\Documents\Visual Studio 2012\Projects\PROJECTNAME\PROJECTNAME\bin\Debug
希望这可以节省其他人在网上搜索几个小时。