C# 如何修复实体框架的存储过程定义为virtualint,我们通常定义为ObjectResult。我使用DB-first方法
我使用向导将存储过程导入到项目中,通常Entity Framework会自动生成存储过程的代码作为C# 如何修复实体框架的存储过程定义为virtualint,我们通常定义为ObjectResult。我使用DB-first方法,c#,entity-framework,stored-procedures,C#,Entity Framework,Stored Procedures,我使用向导将存储过程导入到项目中,通常Entity Framework会自动生成存储过程的代码作为ObjectResult类型,但我现在导入的存储过程是Virtual int类型 如何修复它?因为,如果类型为virtualint,则无法获取要列出的数据 datagrid.datasource = db.SPP_SMTTRGT(param1, param2).ToList(); 抛出错误:“无法转换为列表”,这不起作用 我该怎么办 这是我的代码: public virtual int SPP_S
ObjectResult
类型,但我现在导入的存储过程是Virtual int
类型
如何修复它?因为,如果类型为virtualint
,则无法获取要列出的数据
datagrid.datasource = db.SPP_SMTTRGT(param1, param2).ToList();
抛出错误:“无法转换为列表”,这不起作用
我该怎么办
这是我的代码:
public virtual int SPP_SMTTRGT(string sP_LINE_CODE, string sP_PROD_DATE)
{
var sP_LINE_CODEParameter = sP_LINE_CODE != null ?
new ObjectParameter("SP_LINE_CODE", sP_LINE_CODE) :
new ObjectParameter("SP_LINE_CODE", typeof(string));
var sP_PROD_DATEParameter = sP_PROD_DATE != null ?
new ObjectParameter("SP_PROD_DATE", sP_PROD_DATE) :
new ObjectParameter("SP_PROD_DATE", typeof(string));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SPP_SMTTRGT", sP_LINE_CODEParameter, sP_PROD_DATEParameter);
}
它不是一个虚拟的
int
,而是一个虚拟的方法。这意味着继承类可以根据需要重写它。“因为,如果类型为虚拟int,我无法获取要列出的数据。”请证明这一点,因为这在我调用SP时没有多大意义,有一个错误无法转换为列表先生。。我使用以下代码db.SPP_SMTTRGT(param1,param2).ToList();