我有一个带有签名的存储过程
PROCEDURE [dbo].[spValidateID]
@ScanCode VARCHAR(50),
@Name VARCHAR(50) = NULL OUTPUT,
@ScanTime DATETIME = NULL OUTPUT,
@ValidationCode INT = 0 OUTPUT
这应该返回一个 validationCode 并填充 name 和 scanTime 变量。我需要在调用时给它 scanCode 值。
在我的 C# 代码中,我正在这样做。
using (var context = new DBEntities())
{
var pScanCode = new SqlParameter("ScanCode", scanCode);
var opName = new SqlParameter("Name", name);
var opScanTime = new SqlParameter("ScanTime", scanTime);
var opValidationCode = new SqlParameter("ValidationCode", validationCode);
var test = context.ExecuteStoreQuery<int>("spValidateID @ScanCode, @Name, @ScanTime, @ValidationCode", pScanCode, opName, opScanTime, opValidationCode);
}
但是在运行此程序时,我收到错误从对象类型 System.RuntimeType 到已知托管提供程序本机类型的映射不存在。
任何想法??