2013-07-27 69 views
3

我正在使用SqlEntityConnection(實體數據模型)TypeProvider連接到具有幾個表和存儲過程的SQL Server數據庫。SqlEntityConnection(實體數據模型)類型提供程序

#if INTERACTIVE 
#r "System.Data" 
#r "System.Data.Entity" 
#r "FSharp.Data.TypeProviders" 
#endif 

open System.Data 
open System.Data.Entity 
open Microsoft.FSharp.Data.TypeProviders 

// You can use Server Explorer to build your ConnectionString. 
type internal SqlConnection = Microsoft.FSharp.Data.TypeProviders.SqlEntityConnection<ConnectionString = @"DataSource=server etc"> 
let internal db = SqlConnection.GetDataContext() 

據在模板文件的鏈接提供的文檔 - http://go.microsoft.com/fwlink/?LinkId=229210 「獲取的數據上下文,其是包含數據庫表作爲屬性和數據庫中的程序,並用作方法的對象」 db應該將數據庫中的存儲過程作爲方法。但是,我只能將數據庫中的表視爲db的屬性。 我錯過了什麼?

+0

什麼是屬性的類型? – mydogisbox

回答

4

我認爲文檔不正確。 SqlEntityConnection TP使用後端工具edmgen.exe來完成實際的代碼和繁重工作,以及我可以告訴該工具不支持包括存儲過程作爲生成的代理類的一部分。 Here's another SO question問完全這個,可悲的是沒有答覆。

運行

edmgen.exe /mode:FullGeneration /connectionstring:"..." /language:CSharp /p:EdmTest 

輸出的各種文件,其中只有(在.ssdl文件)一個包含約出現在我的數據庫存儲過程的任何信息。

SqlDataConnection TP肯定確實支持存儲過程,以防萬一這是您可能的選擇。

相關問題