该过程采用两个“日期字符串”作为参数。我正在使用这种扩展方法来转换我DateTime
的 s,由于个位数的天/月而导致问题:
public static string ToDateParameter(this DateTime dt)
{
//Format of procedure's parameters: MMDDYYYY
return dt.Month.ToString() + dt.Day.ToString() + dt.Year.ToString();
}
更新到这个并且没有更多的错误:
public static string ToDateParameter(this DateTime dt)
{
string day;
string month;
/*
* Format of procedure's parameters: MMDDYYYY
* Procedure expects string of 8 characters for dates; adding 0's in front of single-digit days & months.
*/
day = dt.Day.ToString().Length == 1 ? "0" + dt.Day.ToString() : dt.Day.ToString();
month = dt.Month.ToString().Length == 1 ? "0" + dt.Month.ToString() : dt.Month.ToString();
return month + day + dt.Year.ToString();
}
最初,由于 EF 错误,我没有想到要检查我的参数,例如:
System.Data.EntityCommandExecutionException: The data reader is incompatible with the specified `Property`. A member of the type, `Property`, does not have a corresponding column in the data reader with the same name.
更新:我没有写 SP 并且不同意这些参数。不过,我没想到会看到 EF 错误,而不是 DB2 将错误发回给我。