facile da seguire esempi di CRD (Create, Read, Delete) appaiono in MSDN hereCome inserire l'U nel provider di tipi F # CRUD?
C'è una bella link on the page to a script per fare un database di test, e l'ho fatto così, e facilmente ottenuto tutti gli esempi che lavorano per CRD .
Non ci sono ancora a portata di mano sotto-intestazioni sulla pagina per CRD:
(creare righe) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_UpdateDB
(Leggi le righe) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_QueryData
(eliminare righe) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_DeleteRows
Quello chiamato BKMK_UpdateDB non fa l'U in CRUD. Il suo nome dice Update, ma in realtà fa la C in CRUD.
se ho perso where on this page viene mostrata la U in CRUD, appena mi spara ora e smettere di leggere ...
Potrebbe uno dei guru qui si prega di fornire un piccolo aiuto?
Per alleggerire il carico di lavoro per il guru: Di seguito è il codice più o meno come appare su the MSDN web page.
Basta eseguire il test-database-create .sqlnella pagina Web, modificare la stringa SqlDataConnection nel codice seguente per il server e il nome del database, dovrebbe funzionare correttamente.
Si noti che l'unica modifica apportata alla query è ottenere solo una riga da aggiornare. Ora viene restituita esattamente una riga. Sembra più importante vedere il caso semplice di una riga modificata. Almeno quello prima di mostrare più cambiamenti alla volta.
Un guru può modificare le ultime 4 righe nel modo consigliato F # -Type-Provider per apportare una modifica ai dati restituiti dalla query e scrivere quella riga modificata nel database?
Ad esempio, modificare row.TestData1 da 10 a 11 e scriverlo nel db.
Riassumendo: lo MSDN page rende semplice per noi F # -Type-Provider principianti a fare il CRD in CRUD.
Un guru può riempire noi neofiti nel giusto/facile modo F # -Type-Provider per fare l'U in CRUD?
Grazie mille!
#r "System.Data.dll"
#r "FSharp.Data.TypeProviders.dll"
#r "System.Data.Linq.dll"
open System
open System.Data
open System.Data.Linq
open Microsoft.FSharp.Data.TypeProviders
open Microsoft.FSharp.Linq
type dbSchema = SqlDataConnection<"Data Source= --yourServer\yourInstance--;Initial Catalog= --YourTestDatabaseFromTheScript--;Integrated Security=SSPI;">
let db = dbSchema.GetDataContext()
let table1 = db.Table1
query { for row in db.Table1 do
where (row.TestData1 <= 10)
select row }
|> Seq.iter (fun row -> printfn "%d %s" row.TestData1 row.Name)
"* Se mi manca dove in questa pagina viene visualizzata l'U in CRUD, basta spararmi ora e interrompere la lettura ... *" Bene, hai pubblicato il codice per l'interrogazione quando chiedevi informazioni sull'aggiornamento, invece del codice per in aggiornamento. :-P – ildjarn