我想要做的是从我的SQLite数据库中加载并设置user_version(PRAGMA user_version)。我正在使用 Entity Framework ,但是如果我不能通过它做到这一点,那么我需要能够在C#4.0中以其他方式实现它。

我试过了:

this.DatabaseConnection.Connection.Open();
System.Data.Common.DbCommand cmd = this.DatabaseConnection.Connection.CreateCommand();
cmd.CommandText = "PRAGMA user_version";
cmd.CommandType = System.Data.CommandType.Text;
System.Data.Common.DbDataReader reader = cmd.ExecuteReader();

其中DatabaseConnection是我的EF上下文,而Connection是上下文中的DbConnection对象,但出现异常:

最佳答案

好吧...我终于想通了。我相信这是使用 Entity Framework 时的最佳方法。

要设置user_version,您需要执行此操作...

this.DatabaseConnection.ExecuteStoreCommand("PRAGMA user_version = 5");

要获取user_version,您需要执行此操作...
long result = this.DatabaseConnection.ExecuteStoreQuery<long>("PRAGMA user_version").FirstOrDefault();

09-25 19:47