F# context.DataContext.ExecuteStoreQuery

Кто-нибудь использовал context.DataContext.ExecuteStoreQuery? Я использую SqlEntityConnection для извлечения данных из хранимой процедуры, определенной как таковой

CREATE PROCEDURE [dbo].[CustOrderHist] @CustomerID nchar(5)
AS
SELECT ProductName, Total=SUM(Quantity)
FROM Products P, [Order Details] OD, Orders O, Customers C
WHERE C.CustomerID = @CustomerID
AND C.CustomerID = O.CustomerID AND O.OrderID = OD.OrderID AND OD.ProductID = P.ProductID
GROUP BY ProductName

С этим кодом F#

let RunCustomerStoredProcedure () =
    let context = schema.GetDataContext()
    let query = context.DataContext.ExecuteStoreQuery("CustOrderHist",new SqlParameter("CustomerID","AFKLI"))
    query |> Seq.iter(fun (pn,t) -> Console.WriteLine(String.Format("{0} {1}",pn,t)))

но я получаю это исключение:

Procedure or function 'CustOrderHist' expects parameter '@CustomerID', which was not supplied.

1 ответ

Вы пробовали это?

let RunCustomerStoredProcedure () =
    let context = schema.GetDataContext()
    let query =
        context.DataContext.ExecuteStoreQuery(
            "CustOrderHist",
            new SqlParameter("@CustomerID","AFKLI"))
    query |> Seq.iter(fun (pn,t) -> Console.WriteLine(String.Format("{0} {1}",pn,t)))

Обратите внимание на дополнительные @ в "@CustomerID",

Другие вопросы по тегам