私が保存された機能を持っている、など:ラッピングLINQツーSQL関数のシグネチャ
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つのフロートパラメータを取ります - しかし、事は、私は、これらの値を表して、私のC#プロジェクト内のオブジェクトを持っている、です。
私はビジュアルスタジオを開き、DBMLデザイナに格納された関数をドラッグして、これらのすべてのパラメータを持つ魔法の関数シグネチャを取得します。私はDBMLを更新するときに壊れていないこれのためのラッパーを作成する方法はありますか?私は、これらのオブジェクトから関連する値を抽出し、それらをストアドプロシージャに送信する2つの型付きの引数を取る関数を作成したいと思いますが、linqクエリからそのラッパー関数を呼び出すことはまだ許可されています。 VSはこれをサポートしていますか?
DBMLを更新すると、ラッパーが壊れるのはなぜですか? – Jay
まあ、私は、生成されたコードでうまくいっていると思ったが、コードが再生成されるたびに上書きされるだろうか? –
ラッパーを部分クラスとして追加する必要があります。 dbmlを変更した場合、ラッパーを変更する必要がありますが、ラッパーの呼び出し元は変更されません。 – jlnorsworthy