1

我需要从实体框架调用 SP,使用 DB 优先方法。下面是它的代码。但我面临错误。

“存储过程或函数‘XXXXXXX’没有返回类型。ExecuteFunction 仅支持具有返回类型的存储过程和函数。”

var searchFieldParameter = searchField != null ?
            new ObjectParameter("SearchField", searchField) :
            new ObjectParameter("SearchField", typeof(string));

var searchTextParameter = searchText != null ?
            new ObjectParameter("SearchText", searchText) :
            new ObjectParameter("SearchText", typeof(string));

return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<ReasonCode>("XXXXXXX", searchFieldParameter, searchTextParameter);
4

1 回答 1

1

我得到了我的问题的答案。下面的代码可用于从 EF 调用 SP

var searchFieldParameter = searchField != null ?
            new SqlParameter("SearchField", searchField) :
            new SqlParameter("SearchField", typeof(string));

        var searchTextParameter = searchText != null ?
            new SqlParameter("SearchText", searchText) :
            new SqlParameter("SearchText", typeof(string));

        return ((IObjectContextAdapter)this).ObjectContext.ExecuteStoreQuery<ReasonCode>("exec Reason_Codes_Search_SP @SearchField, @SearchText ", searchFieldParameter, searchTextParameter);
于 2017-11-24T06:54:08.827 回答