C# 无法使用输出参数为EF 6调用存储过程编码?
我不熟悉使用EF调用存储过程,我一直在搜索和尝试不同的代码,但都没有用。在浏览了不同的示例之后,下面的代码是我认为应该可以工作的最接近的代码 我在下一行得到一个设计时错误。在我的线路ValidateCSPolicyResult上,出现以下错误: ValidateCSPolicyResult是一个类型,在给定上下文中无效 我确保在类的顶部有一个using语句,该语句指向以下类所在的文件夹:C# 无法使用输出参数为EF 6调用存储过程编码?,c#,entity-framework,stored-procedures,C#,Entity Framework,Stored Procedures,我不熟悉使用EF调用存储过程,我一直在搜索和尝试不同的代码,但都没有用。在浏览了不同的示例之后,下面的代码是我认为应该可以工作的最接近的代码 我在下一行得到一个设计时错误。在我的线路ValidateCSPolicyResult上,出现以下错误: ValidateCSPolicyResult是一个类型,在给定上下文中无效 我确保在类的顶部有一个using语句,该语句指向以下类所在的文件夹: public class ValidateCSPolicyResult { public strin
public class ValidateCSPolicyResult
{
public string IsValid { get; set; }
public string Remarks { get; set; }
}
这就是我试图调用的代码。存储过程有两个输出值
using (var ctx = new DataContext())
{
var empId = new SqlParameter("@empId", employeeId);
var startDate = new SqlParameter("@startDate", startDateTime);
var endDate = new SqlParameter("@endDate", endDateTime);
var swapEmpId = new SqlParameter("@swapEmpId", swapEmployeeId);
var isValid = new SqlParameter
{
ParameterName = "Valid",
Value = "N",
Direction = ParameterDirection.Output
};
var remarks = new SqlParameter
{
ParameterName = "Remarks",
Value = "",
Direction = ParameterDirection.Output
};
var results = ctx.Database.SqlQuery(ValidateCSPolicyResult)("VALIDATE_CSW_POLICY @empId, @startDate, @endDate, @swapEmpId, @Valid out, @Remarks out");
}
在代码块中输入错误,应该是
var results = ctx.Database.SqlQuery<ValidateCSPolicyResult>("VALIDATE_CSW_POLICY @empId, @startDate, @endDate, @swapEmpId, @Valid out, @Remarks out");
太好了,谢谢你接电话。现在我只想看看能不能让它运行。