c# - 为什么我计算行数的原始查询总是返回 -1?

标签 c# sql entity-framework

我正在尝试检查表是否存在,但无法正常工作。

出于某种原因,计数总是返回 -1。我已经在数据库中有一个表。它 应该返回1?

SearchEntities db = new SearchEntities();

var qry3 = "";
var sql4 = "SELECT Count(*) FROM SearchDB.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'portland'";
var count = db.Database.ExecuteSqlCommand(sql4);

最佳答案

ExecuteSqlCommand 不返回数据,它总是返回 Int32 ,这是 SQL 脚本在 DDL/DML 时处理的行数命令。

你想要 SqlQuery<TElement>(String, Object[]) 相反。

var count = db.Database.SqlQuery<int>(sql4).Single();

关于c# - 为什么我计算行数的原始查询总是返回 -1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24053556/

相关文章:

c# - 列表<对象> 与列表<动态>

mysql - MySQL 中的触发器 "BEFORE DELETE"

c# - Entity Framework 导航属性上的 OrderBy(一对多)

c# - 如何使用其基类进行良好的平等比较?

c# - 从字符串中检索文本的正则表达式

c# - 是否有适用于 Windows Core Audio 的 COM 类型库

php - 如何在 MySQL 查询中设置日期间隔?

SQL 计数为零值

c# - 让 EF 使用 m :n table with additional property

sql-server - 数据库恢复后 EF 不会迁移