我试图让 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/