2012-08-22 96 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)); 
}