我有一个存储过程,它返回包含字符串的1行和1列。
我正在使用db.Database中的SqlQuery方法尝试将此方法作为字符串返回。但是,当我检查返回值时,它返回存储过程的名称和我试图传递的参数。
var val = db.Database.SqlQuery<string>(string.Format("{0} @QuestionnaireID", model.ObjectiveB.StoredProcedure.SpName),
new SqlParameter("QuestionnaireID", model.ProjectId));
这是返回的内容
我也尝试过使用
.FirstOfDefault()
和
.ToList()
但是仍然没有返回我想要的值,包括存储过程的名称和它的参数。任何帮助都会很棒!
答案 0 :(得分:1)
简单回答是这样的:
var response = Db.Database.SqlQuery<string>("EXEC procName @p1={0}, @p2={1}, @p3={2}", v1, v2, v3);
var strResponse = resp.First();
请务必先检查响应对象是否有错误。