【发布时间】:2020-06-10 11:45:37
【问题描述】:
我正在开发 WPF 应用程序并使用 SQLite 数据库。我可以使用 Entity Framework 执行每个 CRUD 操作,但在某些特定情况下,我必须使用原始 SQL 查询,有时它不会返回我需要的内容。
这是一个示例代码:
using (var db = new DbContext(AppIO.DatabaseFilePath)) {
var key = 12;
string sql = $"SELECT COUNT(*) FROM SomeTable WHERE SomeField={key}";
var result = db.Database.ExecuteSqlCommand(sql);
}
我简化了这个例子。这里是result,我得到的是-1。我复制了sql 字符串值(在它构建之后)并在同一数据库上的SQLiteStuido 中执行,它返回了正确的值。
DatabaseFilePath 是正确的。连接设置正确。我正在检查相同的数据库(在代码和SQLiteStudio 中)。还有什么想法吗?
【问题讨论】:
-
我很确定您需要使用 SqlQuery 而不是 ExecuteSqlCommand。
-
我试过了,它的工作...谢谢!