在SQLite中為Entity Framework Core代碼設置日誌模式

c# entity-framework-core sqlite sqlite-journal-mode

我在Entity Framework上使用DBContext,使用本教程中的過程來創建數據庫。

public class BloggingContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Filename=blog.db");
    }
}

並使用以下內容保存:

using (var context = new BloggingContext())
{
    context.Add(blog);
    await context.SaveChangesAsync();
}

我如何將日記模式設置為類似WAL的東西?

熱門答案

EF7的Sqlite提供程序僅支持連接字符串選項的一小部分,因此您需要手動執行一些命令:

var context = new BloggingContext();
var connection = context.Database.GetDbConnection();
connection.Open();
using (var command = connection.CreateCommand())
{
    command.Text= "PRAGMA journal_mode=WAL;";
    command.ExecuteNonQuery();
}

您可以將它包裝在構造函數或工廠中。

相關帖子其他一個



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因