F#缺少LINQ函数

时间:2013-06-06 22:56:43

标签: .net linq f#

我正在尝试让LINQ在我的F#应用程序中正常工作(基于http://msdn.microsoft.com/en-us/library/hh361033.aspx上的文章)。但是,似乎缺少一些属性和功能。

例如,如果我尝试添加以下行:

db.DataContext.Log <- System.Console.Out

我收到一条错误消息:未定义字段,构造函数或成员“Log”。

同样缺少诸如InsertOnSubmit和InsertAllOnSubmit之类的函数。我已经管理过查询数据库,但是如果缺少这些功能,我现在无法插入任何内容。

示例代码:

open System
open System.Data
open System.Data.Linq
open Microsoft.FSharp.Data.TypeProviders
open Microsoft.FSharp.Linq

type internal dbSchema = SqlEntityConnection<"Data Source=localhost;Initial catalog=testDb;Integrated Security=SSPI;">

[<EntryPoint>]
let main argv = 

    let db = dbSchema.GetDataContext()
    db.DataContext.Log <- System.Console.Out // Failure: Log not defined.
    let names = [|"Foo"; "Bar"|]
    let newVals = 
        [ for name in names -> new dbSchema.ServiceTypes.Items(Name = name) ]

    db.Items.InsertAllOnSubmit(newVals) // Same with InsertAllOnSubmit.

    0

我可以在这里找到什么?

1 个答案:

答案 0 :(得分:3)

@mydogisbox好的,这里是:

在行中:

type internal dbSchema = SqlEntityConnection<"Data Source=localhost;Initial catalog=testDb;Integrated Security=SSPI;">

尝试使用SqlDataConnection代替SqlEntityConnection。这应该有用。