次のようなストアド関数があります。
CREATE FUNCTION RegionContains
(
@RegionX float, @RegionY float, @RegionRadius float,
@ObjectX float, @ObjectY float
)
RETURNS bit
AS
BEGIN
DECLARE @IsContained bit
DECLARE @ObjectRadius real
SELECT @ObjectRadius = SQRT(POWER(@ObjectX - @RegionX, 2) + POWER(@ObjectY - @RegionY, 2))
IF @ObjectRadius <= @RegionRadius
RETURN 1
RETURN 0
END
GO
5 つの float パラメーターが必要ですが、実際には、C# プロジェクトにこれらの値を表すオブジェクトがあります。
Visual Studio を開き、格納された関数を DBML デザイナーにドラッグすると、これらのdouble
パラメーターをすべて備えた魔法の関数シグネチャが得られます。DBML を更新しても壊れないラッパーを作成する方法はありますか? 2 つの型指定された引数を受け取り、それらのオブジェクトから関連する値を抽出してストアド プロシージャに送信する関数を作成したいと考えていますが、linq クエリからそのラッパー関数を呼び出すことは引き続き許可されています。VSはこれをサポートしていますか?