类型...的成员在数据读取器中没有具有相同名称的对应列

时间:2019-10-01 00:18:09

标签: c# entity-framework

我在Visual Studio 2019中具有Entity Framework 6.3。 我添加了第一个数据库模型,添加了一个名为“ usp_sel_Meet_Users”的存储过程,但运行时出现以下错误: “类型的成员GenderName在数据读取器中没有具有相同名称的对应列”

我检查了存储过程的所有列,并匹配了添加存储过程时EF自动生成的所有复杂类型的列。 Stored Procedure in SQL Server

我还通过右键单击2列匹配信息中的导入功能进行检查,所有属性都匹配OK。

Colunns  match

我尝试过刷新,更新模型。 我已经检查了其他问题,请让别人知道可能是什么问题?

错误在函数调用中(返回时)

public virtual ObjectResult<usp_sel_Meet_Users_Result> usp_sel_Meet_Users(Nullable<int> ageFrom, Nullable<int> ageTo, string gender, Nullable<long> currUsr_Id, string countryCod, string admLev1Cod, string cityId)
{
var ageFromParameter = ageFrom.HasValue ?
new ObjectParameter("AgeFrom", ageFrom) :
new ObjectParameter("AgeFrom", typeof(int));
var ageToParameter = ageTo.HasValue ?
new ObjectParameter("AgeTo", ageTo) :
new ObjectParameter("AgeTo", typeof(int));
var genderParameter = gender != null ?
new ObjectParameter("Gender", gender) :
new ObjectParameter("Gender", typeof(string));
var currUsr_IdParameter = currUsr_Id.HasValue ?
new ObjectParameter("CurrUsr_Id", currUsr_Id) :
new ObjectParameter("CurrUsr_Id", typeof(long));
var countryCodParameter = countryCod != null ?
new ObjectParameter("CountryCod", countryCod) :
new ObjectParameter("CountryCod", typeof(string));
var admLev1CodParameter = admLev1Cod != null ?
new ObjectParameter("AdmLev1Cod", admLev1Cod) :
new ObjectParameter("AdmLev1Cod", typeof(string));
var cityIdParameter = cityId != null ?
new ObjectParameter("CityId", cityId) :
new ObjectParameter("CityId", typeof(string));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<usp_sel_Meet_Users_Result>("usp_sel_Meet_Users", ageFromParameter, ageToParameter, genderParameter, currUsr_IdParameter, countryCodParameter, admLev1CodParameter, cityIdParameter);
}

0 个答案:

没有答案