小编典典

为什么我对行进行计数的原始查询总是返回-1?

sql

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

由于某些原因,count始终返回-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);

阅读 175

收藏
2021-04-14

共1个答案

小编典典

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

您想要SqlQuery<TElement>(String, Object[])代替。

var count = db.Database.SqlQuery<int>(sql4).Single();
2021-04-14