【发布时间】:2014-08-03 19:39:52
【问题描述】:
我有一个类似这样的存储过程:
CREATE PROCEDURE [dbo].[sp_mark_question]
AS
BEGIN
SELECT 1 AS Authenticated,
0 AS RC
END
它是这样执行的:
var rc = await db.Database.SqlQuery<AnswerToClient>(sql).FirstOrDefaultAsync();
public class AnswerToClient
{
public bool Authenticated { get; set; }
public bool RC { get; set; }
}
我收到一个错误:
从具体化的“System.Int32”类型到“System.Boolean”类型的指定转换无效。
我认为这可能是因为存储过程返回一个数字。我怎样才能让它返回一个可以转换为布尔值的值?
【问题讨论】:
-
旁注:您应该不为您的存储过程使用
sp_前缀。微软有reserved that prefix for its own use (see Naming Stored Procedures),你确实会在未来某个时候冒着名称冲突的风险。 It's also bad for your stored procedure performance。最好只是简单地避免sp_并使用其他东西作为前缀 - 或者根本不使用前缀!
标签: c# sql-server stored-procedures