F#からSQL Server Compact Editionデータベースに接続しようとしていて、型プロバイダを使用しようとしています。これはVisual Studio 11 Betaにあります。そのために問題が発生する可能性があることを認識していますが、まだノウハウを持っていない可能性が高いと思います。F#で型プロバイダを使用してSQL Server Compact Edition 4.0に接続する方法は?
しかし、私はMicrosoft.FSharp.Data.TypeProvidersにCE固有の型プロバイダがないことに気付きました。そして、私は通常のSqlDataConnectionがそのトリックを行うことは確信しています。
しかし、私が接続を作成しようとすると、IDEは私がCEデータベースにヒットしようとしていることを認識しているようです。だから、
、私は次のコードを持っている:
type SqlConnection =
Microsoft.FSharp.Data.TypeProviders
.SqlDataConnection<ConnectionString = @"Data Source=C:\\Path\\Database.sdf">
let db = SqlConnection.GetDataContext()
だから、多かれ少なかれストレート型プロバイダアイテムメニューでSQLへの新しいLINQを追加するの外に、かなり標準です。
「プロバイダ 'System.Data.SqlServerCe.3.5'がインストールされていません」という接続文字列を取得しました。それはSql Server CEをインストールしていないという問題があることを示しているようですが、ライブラリがあり、通常のSqlCEConnectionを使用してデータベースに接続してSqlCeCommandsなどを実行できるようになっています。 4.0以降では3.5ではないので、間違ったプロバイダを探しているかどうかはわかりません。 VS 11ベータ版でデータベースを作成したので、すべてのバージョンが一致するはずです。
私は間違ったことをやっているのか、VS11ベータタイプのプロバイダライブラリがCE 4.0をまだサポートしていないのか、それが実現するために何か必要があるのかどうか疑問に思っています。
ありがとうございます!
今日までテストする機会はありませんでした。それは巨大な助けだったので、ありがとう!私は、ここでは少なくともシンプルな例では、System.Data.EntityClientを含める必要はないこともわかりました。よりコンパクトなクエリの構文もコンテキストを実行するだけでした.Suppliers |> Seq.iter ...など – McMuttons