gpt4 book ai didi

entity-framework - 不存在从对象类型 System.RuntimeType 到已知托管提供程序 native 类型的映射

转载 作者:行者123 更新时间:2023-12-03 11:35:10 25 4
gpt4 key购买 nike

我有一个带有签名的存储过程

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 到已知托管提供程序 native 类型的映射。

任何的想法??

最佳答案

您缺少 sqlparameters 和 @ 的输出设置。您的代码应如下所示:

SqlParameter pScanCode = new SqlParameter("@ScanCode", ScanCode);
SqlParameter opName = new SqlParameter("@Name", name);
opName.Direction = System.Data.ParameterDirection.Output; //Important!
SqlParameter opScanTime = new SqlParameter("@ScanTime", scanTime);
opScanTime.Direction = System.Data.ParameterDirection.Output; //Important!
SqlParameter opValidationCode = new SqlParameter("@ValidationCode ", validationCode);
opValidationCode.Direction = System.Data.ParameterDirection.Output; //Important!

关于entity-framework - 不存在从对象类型 System.RuntimeType 到已知托管提供程序 native 类型的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11523912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com