是否可以使用 Entity Framework 在 SQL Server CE 中实现 CommitMode.Immediate
Is it possible to achieve CommitMode.Immediate in SQL Server CE using Entity Framework
是否可以使用 Entity Framework 调整 SQL Server Compact Edition 4.0 版连接参数,以便强制使用 CommitMode.Immediate 参数提交,如此处所述 or ?
- SQL 服务器 CE 版本:4.0
- EntityFramework: 6.1.3
- EntityFramework.SQLServerCompact: 6.1.3
不,这只能通过原始 ADO.NET(或者您控制 DbTransaction,可能使用 EF6 - https://msdn.microsoft.com/en-us/data/dn456843.aspx#existing)
using (SqlCeConnection conn =
new SqlCeConnection(@"Data Source=C:\data\AdventureWorks.sdf;"))
{
conn.Open();
using (SqlCeTransaction tx = conn.BeginTransaction(IsolationLevel.ReadCommitted))
{
using (var context = new BloggingContext(conn, contextOwnsConnection: false))
{
context.Database.UseTransaction(tx);
var query = context.Posts.Where(p => p.Blog.Rating >= 5);
foreach (var post in query)
{
post.Title += "[Cool Blog]";
}
context.SaveChanges();
}
tx.Commit(CommitMode.Immediate);
}
}
是否可以使用 Entity Framework 调整 SQL Server Compact Edition 4.0 版连接参数,以便强制使用 CommitMode.Immediate 参数提交,如此处所述 or ?
- SQL 服务器 CE 版本:4.0
- EntityFramework: 6.1.3
- EntityFramework.SQLServerCompact: 6.1.3
不,这只能通过原始 ADO.NET(或者您控制 DbTransaction,可能使用 EF6 - https://msdn.microsoft.com/en-us/data/dn456843.aspx#existing)
using (SqlCeConnection conn =
new SqlCeConnection(@"Data Source=C:\data\AdventureWorks.sdf;"))
{
conn.Open();
using (SqlCeTransaction tx = conn.BeginTransaction(IsolationLevel.ReadCommitted))
{
using (var context = new BloggingContext(conn, contextOwnsConnection: false))
{
context.Database.UseTransaction(tx);
var query = context.Posts.Where(p => p.Blog.Rating >= 5);
foreach (var post in query)
{
post.Title += "[Cool Blog]";
}
context.SaveChanges();
}
tx.Commit(CommitMode.Immediate);
}
}