У меня есть очень простая хранимая процедура, которая возвращает несколько наборов записей. Все наборы записей имеют псевдонимы столбцов, поэтому все они выглядят одинаково.
E.g.
SELECT TOP 10 FooId AS Id, Name As Name FROM Foos
SELECT TOP 10 BarId AS Id, Name As Name FROM Bars
...
Для моей настройки EF я использую POCO и имею свой собственный DataContext (без генерации кода).
Теперь я создал «Импорт функции», используя метод, подробно описанный здесь.
Но проблема в том, что создается сложный тип с идентификатором и именем, а не тип, который может содержать несколько наборов идентификатора и имени. Может ли EF не обнаружить, что я возвращаю несколько наборов записей?
Таким образом, сохраненный процесс выполняется правильно, но возвращаются только записи из первого оператора выбора, остальные отбрасываются. Поэтому я получаю только 10 записей.
Вот как я выполняю SPROC в своем пользовательском DataContext:
public ObjectResult<SomeSimpleProc_Result> GetSomeStuff()
{
return base.ExecuteFunction<SomeSimpleProc_Result>("SomeSimpleProc);
}
И результат возврата POCO:
public class SomeSimpleProc_Result
{
#region Primitive Properties
public int Id
{
get;
set;
}
public string Name
{
get;
set;
}
#endregion
}
Конечным результатом является то, что я хочу получить объект, в котором есть объекты 0-* (в приведенном выше случае 3 объекта). Каждый объект должен иметь в себе набор простых объектов (Id, Name).
Думаю проблема однозначно с настройкой "Импорт функций". Как мне создать сложный тип? Или я должен использовать «Возвращает коллекцию сущностей».
Любые идеи?