2012-06-13 37 views
0

好吧,所以我沒有使用Sql客戶端。從C調用數據庫函數#

我的項目中有一個.edmx文件,裏面有表格,視圖和存儲過程。我知道如何從我的項目中調用它們。但是我在服務器資源管理器中有一些功能。如何通過代碼調用它們?

+0

你想使用EF來調用存儲過程嗎?你使用哪個版本的EF? –

+0

@DarinDimitrov號我想調用一個函數。 –

+0

A *函數*?在SQL數據庫中從來沒有聽說過這樣的概念。 –

回答

0

我所做的是使用與存儲過程相同的代碼編寫存儲過程,並將其導入到.edmx文件中。

1

您只需要將這些函數添加到嚮導中的EDMX(從數據庫更新模型),然後您必須手動創建具有相同名稱並用EdmFunction屬性(this question中的示例)標記的靜態函數接受參數。現在你已經映射了Linq-to-entities查詢中可以使用的函數。 EF提供程序將正確地將您的CLR調用轉換爲SQL查詢中的SQL函數調用。

EF 4.0不支持表值函數(該支持在EF 4.5/.NET 4.5中添加)。此外,這種映射只適用於EDMX - 不是首先使用代碼。

+0

但是I只能將視圖,表格和存儲過程添加到我的.edmx文件。 –

+0

可以導入的函數將在存儲過程下。 –