Как получить значение столбца из хранимой процедуры с помощью метода вызова в mvc5

Я использовал метод getMethod.Invoke для выполнения хранимой процедуры в ASP.NET MVC 5. Метод GetStoredProcedure может выполнять хранимую процедуру, но не может получить точное возвращаемое значение (идентификатор и его имя) из хранимой процедуры. . Я получил следующие результаты от EF вместо значения списка (идентификатор и его имя) "{System.Data.Entity.Core.Objects.ObjectResult`1 [EF.Data.SaveTEST1_Result]} System.Linq.IQueryable {System.Linq. EnumerableQuery} ".

Пожалуйста, помогите мне, как получить возвращаемое значение из хранимой процедуры с помощью метода вызова в EF ASP.NET MVC 5.

Я вставил образец кода, который использовал

public object GetStoredProcedure(string storedProcedure, object[] parameters)
{
        Type contextType = context.GetType();
        MethodInfo getMethod = contextType.GetMethod(storedProcedure);
        var result = getMethod.Invoke(context, parameters);
        return result;
}

а также хранимая процедура:

CREATE PROCEDURE SaveTEST1  
     (@id INT, @name VARCHAR(5))
AS
BEGIN
    DECLARE @MaxID INT

    SELECT @MaxID = MAX(ID) 
    FROM TEST1

    INSERT INTO TEST1 
    VALUES(@MaxID, @name)

    SELECT ID, Name 
    FROM TEST1 
    WHERE ID = @MaxID
END

Примечание: я использую шаблон репозитория и класс отражения. Я надеюсь, что приведенного выше объяснения достаточно, чтобы объяснить мне, как получить ожидаемый результат.

Это не имеет ничего общего с asp.net-mvc

user3559349 10.09.2018 08:27

Пожалуйста, проверьте, возвращает ли ваша процедура данные

gulshan arora 10.09.2018 08:42

Gulshan, да возвращает значение в окне SQL запроса.

Sathishkumar 10.09.2018 08:45

Это значительно прояснило бы вопрос, если бы вы могли предоставить фрагмент кода, который работает и не использует Reflection, но получает доступ к EF обычным способом.

John Wu 10.09.2018 08:50

Джон, если я использую EF обычным способом, тогда класс репозитория не будет использоваться, и мой шаблон будет использовать класс репозитория. Пожалуйста, помогите мне, как получить в этом ожидаемый результат.

Sathishkumar 10.09.2018 09:00
0
5
174
0

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