DbFunction в выражении Dynamic Linq - PullRequest
0 голосов
/ 05 февраля 2019

Исходя из моего другого поста ( Byte [] сравнение в Linq enumerable ).

Можно ли использовать атрибут DbFunction и определить функцию в CSDL-части EDMX?и затем вызвать его из динамического выражения Linq?

Пример:

В классе модели:

[DbFunction("RowVersion", "Compare")]
public static int Compare(byte[] rowversion)
{
    throw new NotSupportedException("Not Supported Exception");
}

CSDL:

<Function Name="Compare" ReturnType="Edm.Int32">
    <Parameter Name="RowVersion" Type="Edm.Binary" />
    <DefiningExpression>
        CAST(RowVersion as int)
    </DefiningExpression>
</Function>

DynamicLinq:

.Where("Compare(RowVersion) > @0, 30000")
...