C# 无法使用输出参数为EF 6调用存储过程编码?

C# 无法使用输出参数为EF 6调用存储过程编码?,c#,entity-framework,stored-procedures,C#,Entity Framework,Stored Procedures,我不熟悉使用EF调用存储过程,我一直在搜索和尝试不同的代码,但都没有用。在浏览了不同的示例之后,下面的代码是我认为应该可以工作的最接近的代码 我在下一行得到一个设计时错误。在我的线路ValidateCSPolicyResult上,出现以下错误: ValidateCSPolicyResult是一个类型,在给定上下文中无效 我确保在类的顶部有一个using语句,该语句指向以下类所在的文件夹: public class ValidateCSPolicyResult { public strin

我不熟悉使用EF调用存储过程,我一直在搜索和尝试不同的代码,但都没有用。在浏览了不同的示例之后,下面的代码是我认为应该可以工作的最接近的代码

我在下一行得到一个设计时错误。在我的线路ValidateCSPolicyResult上,出现以下错误:

ValidateCSPolicyResult是一个类型,在给定上下文中无效

我确保在类的顶部有一个using语句,该语句指向以下类所在的文件夹:

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");

太好了,谢谢你接电话。现在我只想看看能不能让它运行。