我讀Walkthrough: Accessing a SQL Database by Using Type ProvidersF#類型提供的SQL Server實例
,並通過使用我的測試數據庫的工作吧。到目前爲止,我已經在F#交互中完成了這項工作:
#r "System.Data.dll"
#r "FSharp.Data.TypeProviders.dll"
#r "System.Data.Linq.dll"
open System
open System.Data
open System.Data.Linq
open Microsoft.FSharp.Data.TypeProviders
open Microsoft.FSharp.Linq
type dbSchema = SqlDataConnection<"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Test;Integrated Security=SSPI;">
現在,我知道這個數據庫有一個名爲test的表。例如在SSMS:
所以,你可以看到,我有一個名爲 「表1」 表。繼續該示例我寫:
let db = dbSchema.GetDataContext()
let table1 = db.table1
但後來我得到的錯誤:
error FS0039: The field, constructor or member 'table1' is not defined
那麼,我究竟錯在這裏做什麼?
FYI:F#編譯器版本11.0.60610.1
當你輸入'db.'時,你看到了什麼? - 完成是否提供任何表名?文件中是否有其他錯誤? –
@Tomas當我鍵入分貝。沒有提供完成。 (運行在F#交互式,我猜它不支持自動完成)到目前爲止沒有其他錯誤 – user1443098
@Ed db.sys.tables不起作用:「錯誤FS0039:字段,構造函數或成員'sys'未定義「但是然後sys.tables是一個視圖,而不是一個表。也許還有另一種訪問視圖的方式? – user1443098