Czytnik danych jest niezgodny z określoną ramką Entity Framework

Mam metodę, która zwróci wszystkie wyniki z sproc, aby wypełnić wybrane menu. Kiedy chcę wyniki gołe min przekazuję bool getMin = true do sproc, a kiedy chcę pełny rekord przekazuję bool getMin = false.

Powoduje to błąd Entity FrameWork „Czytnik danych jest niezgodny z określonym"

Najbardziej istotna część błędu

{"Message": "Wystąpił błąd.", "ExceptionMessage": "Czytnik danych jest niezgodny z określonym 'CatalogModel.proc_GetFramingSystems_Result'. Członek typu 'FrameType' nie ma odpowiedniej kolumny w czytnik danych o tej samej nazwie. ”,„ ExceptionType ”:„ System.Data.EntityCommandExecutionException ”,

Oczywiście błąd mówi mi, że gdy czytnik danych próbował ustawić właściwość „FrameType”, której nie było w wynikach zapytania.

Teraz rozumiem błąd, co chcę wiedzieć, czy mam zamiar podzielić ten sproc sql na dwa sprocs lub czy istnieje obejście tego problemu?

Moja funkcja poniżej

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>();
    };
}

Mój TSQL poniżej

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;

questionAnswers(3)

yourAnswerToTheQuestion