我读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