尝试将存储过程作为 Entity Framework 5 中的函数导入时出现以下错误。我最近更新了数据项目以引用新版本的 EF。
ExecuteFunction 中的类型参数“SSDS.Data.testy_Result”与函数返回的类型“SSDS.Data.testy_Result”不兼容。
我无法让它适用于任何存储过程......这是我的简单测试:
CREATE PROCEDURE testy
AS
BEGIN
select 'hello' as hello
END
GO
它打破了上面的例外:
public virtual ObjectResult<testy_Result> testy()
{
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<testy_Result>("testy");
}
当我在模型设计器的编辑函数导入窗口中将结果设置为字符串标量时,没有错误。
我这样调用函数:
private Entities db = new Entities();
var x = db.testy();
我在这里有什么明显的遗漏吗?我的项目中有一些 edmx 文件,其他文件是使用旧版本的 EF(并使用 ObjectContext)创建的。
功能映射:
更多功能映射详细信息:
testy_Result 类:
public partial class testy_Result
{
public string hello { get; set; }
}