Считыватель данных несовместим с указанной Entity Framework

У меня есть метод, который будет возвращать минимальные результаты из sproc, чтобы заполнить меню выбора. Когда я хочу получить минимальные результаты, я передаю bool getMin = true для sproc, а когда мне нужна полная запись, я передаю bool getMin = false.

Это вызывает ошибку Entity FrameWork "Считыватель данных несовместим с указанным"

Наиболее значимая часть ошибки

{"Message": "Произошла ошибка.", "ExceptionMessage": "Средство чтения данных несовместимо с указанным 'CatalogModel.proc_GetFramingSystems_Result'. Элемент типа FrameType не имеет соответствующего столбца в считыватель данных с тем же именем. "," ExceptionType ":" System.Data.EntityCommandExecutionException ",

Очевидно, что ошибка говорит мне, что когда читатель данных пытался установить свойство FrameType, которого не было в результатах запроса.

Теперь я понимаю ошибку, что я хочу знать, так это то, что я собираюсь разделить этот SQL-фрагмент на два пакета или есть способ обойти это?

Моя функция ниже

public static IEnumerable<IFramingSystem> GetFramingSystems(int brandID, string frameType, string glazeMethod, bool getMin)
{
    using (CatalogEntities db = new CatalogEntities())
    {
        return db.proc_GetFramingSystems(brandID, frameType, glazeMethod, getMin).ToList<IFramingSystem>();
    };
}

Мой TSQL ниже

ALTER proc [Catelog].[proc_GetFramingSystems]
@BrandID   INT,
@FrameType VARCHAR(26),
@GlazeMethod VARCHAR(7) ='Inside',
@getMin    BIT = 0
as
BEGIN
SET NOCOUNT ON;
IF @getMin =0
BEGIN
SELECT c.ID,c.Name,c.Descr,c.FrameType,c.isSubFrame,
       c.GlassThickness,c.GlassPosition,c.GlazingMethod,c.SillProfile
        from Catelog.Component c
WHERE c.MyType ='Frame' 
AND c.FrameType = @FrameType
AND c.GlazingMethod = @GlazeMethod
AND c.ID IN(
SELECT cp.ComponentID FROM Catelog.Part p JOIN
            Catelog.ComponentPart cp ON p.ID = cp.PartID
            WHERE p.BrandID = @BrandID
            )
            ORDER BY c.Name
END
ELSE
SELECT c.ID,c.Name,c.Descr
        from Catelog.Component c
WHERE c.MyType ='Frame' 
AND c.FrameType = @FrameType
AND c.GlazingMethod = @GlazeMethod
AND c.ID IN(
SELECT cp.ComponentID FROM Catelog.Part p JOIN
            Catelog.ComponentPart cp ON p.ID = cp.PartID
            WHERE p.BrandID = @BrandID
            )
            ORDER BY c.Name
SET NOCOUNT OFF;
END;

Ответы на вопрос(3)

Ваш ответ на вопрос