Uwakpeter Ответов: 1

Первый подход к базе данных Entity framework, имеющий строку в качестве возвращаемого типа для хранимой процедуры


Я работаю над продуктом MVC, используя подход Database first entity framework, я добавил несколько хранимых процедур в EDM, но некоторые возвращают строку вместо типа модели. Я удалил модель.edmx-файла удалить строку подключения из интернета.конфиг файл и re - добавил model1.файл edmx в проект, тем не менее, некоторые до сих пор имеют строку в качестве возвращаемого типа, кроме того, я создал класс ViewModel и использовать его в место строки, но не повезло. Я хочу иметь возможность добавить процедуру для возврата типа модели.

Хранимая процедура в Model1.Контекстный класс:

public virtual ObjectResult<string> PreLoadWorkflowType()
{            
    return((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<string>("PreLoadWorkflowType");
}


Я хочу, чтобы сгенерированная хранимая процедура выглядела следующим образом:

public virtual ObjectResult<PreLoadWorkflowType> PreLoadWorkflowType()
{               return((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<PreLoadWorkflowType>("PreLoadWorkflowType");
} 



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

USE [databsename]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[PreLoadWorkflowType]
AS
BEGIN
SET NOCOUNT ON;
select distinct workflow_type  AS WorkflowType from V_ui_View  where 
workflow_type is not null 
END


Я все это время добавлял хранимую процедуру в файл EDM, я не испытывал этого раньше, я буду признателен за помощь от любого, кто испытал и разрешил это.

Что я уже пробовал:

public virtual ObjectResult<PreLoadWorkflowTypeViewModel> PreLoadWorkflowType()
{               return((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<PreLoadWorkflowTypeViewModel>("PreLoadWorkflowType");
}

1 Ответов

Рейтинг:
6

F-ES Sitecore

В браузере моделей выберите свой SP и в окне свойств нажмите кнопку "тип возврата", а затем нажмите кнопку с многоточием, чтобы открыть диалоговое окно "изменить импорт функций".

В разделе "возвращает коллекцию" , если вы хотите, чтобы SP возвращал экземпляры существующей сущности, выберите сущности и соответствующую ей. Если данные не совпадают с существующими лицо, затем выбрать "комплекс", нажмите кнопку "сделать колонку информация", затем нажмите кнопку "Создать новый сложный тип", и он будет создать класс с соответствующими свойствами и вносить изменения в код, так что теперь возвращает объект objectresult&ЛТ;YourComplexType&ГТ;


Uwakpeter

Спасибо вам, сэр, я действительно ценю, что это работает