SQLite是不会得到更新
问题描述:
这是我的app.configSQLite是不会得到更新
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
<connectionStrings>
<add name="DataBaseEntity" connectionString="metadata=res://*/DBModel.csdl|res://*/DBModel.ssdl|res://*/DBModel.msl;provider=System.Data.SQLite;provider connection string="data source=I:Sompepath\dbfilename"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
以下是使用
using (var context = new DataBaseEntity("name=DataBaseEntity"))
{
context.Connection.Open();
var status = delegatefunction(context);
if (status)
{
context.AcceptAllChanges();
context.SaveChanges(SaveOptions.DetectChangesBeforeSave);
context.Connection.Close();
return true;
}
return false;
}
委托函数看起来像这样
(context =>{var abc = new xyz();
context.xyzs.AddObject(abc);});
数据库没有具有刚刚添加到代表中的数据
并且在应用
在上下文的连接对象看起来像这样
答
删除context.AcceptAllChanges();
调用告诉EF不存在未决的改变,因此SaveChanges
没有什么也不例外保存到数据库,因为它认为所有更改都已保存。
AcceptAllChanges
一般在SaveChanges
之内调用一旦所有修改都正确保存到数据库中。此方法是公开的,用于支持您想要在multiple context within single transaction上保存修改的一些复杂场景。
哇,工作真棒,谢谢 – 2012-07-23 09:37:08