MY F # Код SQLProvider, работающий в файле сценария, завершается ошибкой при копировании в исходный файл.В частности, кажется, что нет связи с сервером, потому что intellisense, который позволяет мне видеть доступные таблицы, столбцы и т. Д. В файле .fsx;не работает в файле .fs.У меня есть FSharp.Data.SqlProvider, указанный в моем решении, и открытый в блоке кода, но свойства метода GetDataContext () - MIA.Проект ссылается на FSharp Core 4.6.0.
module DBaseTest
open FSharp.Data.Sql
let [<Literal>] connectionString = "Data Source=####;Initial Catalog=####;etc.;etc."
type sql = SqlDataProvider<
DatabaseVendor = Common.DatabaseProviderTypes.MSSQLSERVER,
CaseSensitivityChange = Common.CaseSensitivityChange.ORIGINAL,
ConnectionString = connectionString,
IndividualsAmount = 1000,
UseOptionTypes = true>
let tables = sql.GetDataContext().Dbo <--Dbo unrecognized in the .fs file
Я также попытался запустить новое консольное приложение с использованием .Net 4.5.1 (FSharp Core 4.5.2) с той же ошибкой.Метод GetDataContext не имеет никаких свойств (таблиц, столбцов и т. Д.), И файл не будет компилироваться.
open System
open FSharp.Data.Sql
let [<Literal>] connectionString = "Data Source=###;Initial Catalog=###;..."
type sql = SqlDataProvider<
DatabaseVendor = Common.DatabaseProviderTypes.MSSQLSERVER,
CaseSensitivityChange = Common.CaseSensitivityChange.ORIGINAL,
ConnectionString = connectionString,
IndividualsAmount = 1000,
UseOptionTypes = true>
let table = sql.GetDataContext().Dbo //property Dbo not found
let testQuery =
query{
for rows in table.Organization do
where (rows.OrgName = "ASME")
select rows
} |> Seq.toArray
let firstRow = testQuery.[0].PressureLabel
[<EntryPoint>]
let main argv =
printfn "%A" firstRow
Console.Read() |> ignore
0