【发布时间】:2021-10-06 15:21:40
【问题描述】:
我正在尝试通过使用EF Core 3.1 RelationalDatabaseFacadeExtensions.ExecuteSqlRaw Method 执行查询来检查 SQLite 数据库中是否存在表
var sql = $"SELECT COUNT(*) FROM sqlite_master WHERE type = 'table' AND name = '{GetTableName(table)}';";
var result = Database.ExecuteSqlRaw(sql) ;
结果总是返回
result = -1
这是规范化的查询
SELECT COUNT(*)
FROM sqlite_master
WHERE type = 'table' AND name = 'SendRequest';
问题是,为什么Database.ExecuteSqlRaw(sql) 的结果会返回-1?
我在文档中没有看到这意味着什么。我觉得它正在抛出一个错误,但我还没有找到任何文件来证明或反驳这个想法。
当在 DB Browser for SQLite 中运行相同的查询时,查询工作得非常好:
【问题讨论】:
标签: c# sqlite .net-core entity-framework-core ef-core-3.1