我有一个存储函数,例如:
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# 项目中有代表这些值的对象。
所以我打开Visual Studio,将存储的函数拖到DBML设计器中,我得到了一个神奇的函数签名,其中包含所有这些double
参数。有没有办法为此创建一个在我更新 DBML 时不会中断的包装器?我想创建一个函数,它接受两个类型化的参数,从这些对象中提取相关值,然后将它们发送到存储过程——同时仍然允许从 linq 查询中调用该包装函数。VS 支持这个吗?