.net - F# 缺少 LINQ 函数

标签 .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

我可能在这里遗漏了什么?

最佳答案

@mydogisbox 好的,开始了:

行内:

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

尝试使用 SqlDataConnection 而不是 SqlEntityConnection。这应该有效。

关于.net - F# 缺少 LINQ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16973591/

相关文章:

c# - 通过特定属性将列表转换为逗号分隔字符串的最简单方法?

c# - LINQ 中导航属性查询的 ArgumentException

c# - 使用 Linq 递归查询 XML

.net - F# null 测试未能检测到 null 值

F# 使用通用参数调用 .Net 函数 - 无法编译

java - 从基于 Java 的应用程序访问 .NET DLL,服务包装器是否可以接受?

c++ - .net 中的私有(private)成员?

c# - 如何在 C# 中创建 X509Certificate2 时更改颁发者名称

c# - 使用 LINQ 在 Azure 中字符串长度失败

events - 在多线程代码中使用 F# 事件和异步事件