c# - 如何使用 EF 在 SQLite 数据库中检索和设置 user_version

标签 c# sqlite entity-framework-4

我想做的是从我的 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 对象,但我得到一个异常:

The query syntax is not valid. Near identifier 'user_version', line 1, column 8.

最佳答案

好吧……我终于明白了。我相信这是在使用 Entity Framework 时做到这一点的最佳方式。

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

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

要获取 user_version,您需要执行此操作...

long result = this.DatabaseConnection.ExecuteStoreQuery<long>("PRAGMA user_version").FirstOrDefault();

关于c# - 如何使用 EF 在 SQLite 数据库中检索和设置 user_version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5557622/

相关文章:

c# - 级联集空 Entity Framework

sql-server - 具有 LEFT OUTER JOIN 的 SQL Server 2008 View 在 Entity Framework 4 上失败

c# - 在WPF中从后面的代码中删除代码

c# - 不能使用公共(public)访问修饰符

java - 我如何在 Android 中升级我的数据库

python-3.x - sqlite3 错误 : You did not supply a value for binding 1

Sqlite语法错误,请告诉我是哪里?

c# - EF4 代码优先 : how to add a relationship without adding a navigation property

c# - 捕获所有异常以进行详细记录 - 优点和缺点

C# 操作溢出尝试将有效值分配给 double