Sto tentando di connettersi a un database di SQL Server Compact Edition da F # e di tentare di utilizzare un provider di tipi. Questo è in Visual Studio 11 Beta, quindi mi rendo conto che potrebbe esserci un problema a causa di ciò, ma penso che sia più probabile che io non abbia ancora il know-how.Come connettersi a SQL Server Compact Edition 4.0 con un provider di tipi in F #?
Tuttavia, ho notato che non esiste un provider di tipo CE specifico in Microsoft.FSharp.Data.TypeProviders e non sono sicuro che un normale SqlDataConnection farà il trucco, quindi questo potrebbe essere il problema proprio lì.
Tuttavia, quando provo a creare la connessione, l'IDE sembra riconoscere che sto provando a colpire almeno un database CE.
Così, ho il seguente codice:
type SqlConnection =
Microsoft.FSharp.Data.TypeProviders
.SqlDataConnection<ConnectionString = @"Data Source=C:\\Path\\Database.sdf">
let db = SqlConnection.GetDataContext()
Quindi è abbastanza standard, più o meno direttamente dal aggiungere nuove LINQ to SQL con menù tipo di elemento provider.
Il suggerimento che ottengo sulla stringa di connessione è "Provider 'System.Data.SqlServerCe.3.5' non installato." Guardando su sembra indicare che è un problema non avendo installato Sql Server CE, ma ho le librerie, sono in grado di connettermi al database usando un regolare SqlCEConnection ed eseguendo SqlCeCommands e così via. E dal momento che è 4.0 e non 3.5, non sono sicuro che stia cercando il provider sbagliato. Ho creato il database proprio in VS 11 beta, quindi stavo pensando che tutte le versioni dovessero corrispondere e così via.
Quindi, in breve, mi chiedo se sto facendo qualcosa di sbagliato, o se le librerie di provider di tipo beta VS11 non supportano ancora CE 4.0, o se c'è qualcos'altro che devo fare per farlo accadere .
Grazie!
Non ho avuto la possibilità di testare fino ad oggi. E 'stato un grande aiuto, quindi grazie! Ho trovato anche che almeno per il semplice esempio qui, non era necessario includere System.Data.EntityClient. Una sintassi di query più compatta era anche solo fare context.Suppliers |> Seq.iter ... ecc. – McMuttons