私はスカラー関数を持っています:
CREATE FUNCTION [dbo].[CheckLocation]
(
@locationId Int
)
RETURNS bit
AS
BEGIN
//code
END
Entity Framework コンテキストで使用したい。
これを *.edmx ファイルに追加しました。
<Function Name="CheckLocation" ReturnType="bit" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="true" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo" >
<Parameter Name="locationId" Type="int" Mode="In" />
</Function>
EdmFunctionAttribute で装飾されたメソッドを持つ部分クラスも作成しました。
public partial class MainModelContainer
{
[EdmFunction("MainModel.Store", "CheckLocation")]
public bool CheckLocation(int locationId)
{
throw new NotSupportedException("Direct calls not supported");
}
}
この関数を次のように使用しようとしています。
Context.CheckLocation(locationId);
NotSupportedException("直接呼び出しはサポートされていません") を取得します。Selectメソッド内で動作しますが、私には合いません。助けてください!select メソッドなしでこの関数を呼び出すにはどうすればよいですか?