Как мне сделать исходный файл F # SQLProvider (.fs)? - PullRequest
0 голосов
/ 24 января 2019

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

1 Ответ

0 голосов
/ 01 февраля 2019

В моих целях эта проблема решена без каких-либо изменений в коде.

Я переключился с «SQLProvider» (1.1.58, R. McKinlay et. Al.) На «SQLProvider.Signed.1.0»..40 "(Ники Уайлс).

Теперь свойства работают (отображаются) для метода GetDataContext () в моем исходном файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...