2012-08-22 54 views
0

我在sql server中有一个用户定义的函数,它返回一个字符串。我想把它作为一个属性添加到我的类在linq中sql dbml文件。我的类在sql server中表示一个视图。 (注意,我不想将这个UDF添加到视图中)将sql用户定义函数作为属性添加到dbml

我试着手动创建一个属性,然后在sql服务器中指定源作为我的UDF的名称。不喜欢这个和错误。

我在做什么? 谢谢

回答

2

您只能通过使用FunctionAttribute属性将定义在类上的客户端方法映射到用户定义的函数。

但是你可以用产权换你的功能在你的类

CREATE FUNCTION Test(@string varchar(100)) 
RETURNS varchar(100) 
AS 
BEGIN 
    RETURN "Test" 
END 

[Function(Name = "Test", IsComposable = true)] 
[return: Parameter(DbType = "VarChar(100)")] 

public string Test([Parameter(Name = "string", 
    DbType = "VarChar(100)")] string @string) 
{ 
    return ((string)(this.ExecuteMethodCall(this, 
     ((MethodInfo)(MethodInfo.GetCurrentMethod())), 
     @string).ReturnValue)); 
}