Прежде всего, вы можете упростить хранимую процедуру так:
CREATE PROCEDURE dbo.MinMax
AS
SELECT
MIN(ColorsId) AS MinColorsId,
MAX(ColorsId) AS MaXColorsId
FROM dbo.DiamondInfoes
Нет абсолютно никакой необходимости и никакой необходимости иметь эту табличную переменную - это только увеличивает нагрузку на TempDB
.
Далее - если вы используете .NET 4.0 и используете подход, основанный на базе данных, - вы можете импортировать эту хранимую процедуру в модель EDMX из мастера:
Затем перейдите в Обозреватель моделей в Visual Studio и найдите вновь импортированную хранимую процедуру в физическом разделе «Хранилище» вашей модели. В вашей хранимой процедуре щелкните правой кнопкой мыши и выберите Add Function Import
:
Теперь появляется диалоговое окно, которое дает вам возможность выбрать, что возвращает эта хранимая процедура - в вашем случае вы сказали, что у вас уже есть тип, представляющий этот результат - так что в вашем случае вы должны найти этот тип в выпадающий список для Entities
- выберите его и закройте диалоговое окно:
Теперь у вас должен быть метод в вашем ObjectContext
-приобретенном классе, который представляет эту хранимую процедуру и возвращает сущность выбранного вами типа.