Łatwy do naśladowania przykłady CRD (Create, Read, Delete) pojawiają się w MSDN hereJak umieścić U w F # Type Provider CRUD?
Jest miły link on the page to a script do testowej bazy danych, i tak zrobiłem, i łatwo dostaje wszystkie przykłady pracujących dla CRD .
Istnieją nawet poręczne sub-nagłówki na stronie CRD:
(Tworzenie wierszy) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_UpdateDB
(Czytaj wiersze) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_QueryData
(Usuwanie wierszy) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_DeleteRows
The jednego o nazwie BKMK_UpdateDB nie robi U w CRUD. Jego nazwa mówi Update, ale naprawdę robi C w CRUD.
Jeśli brakowało mi where on this page U w CRUD jest widoczna, po prostu strzelać do mnie teraz i zakończyć czytanie ...
Można guru tutaj proszę podać trochę pomóc?
Aby rozładować ładunek śmieci dla guru: Poniżej znajduje się kod, który pojawia się na the MSDN web page.
Po prostu uruchom bazę danych testowych - utwórz .sql script referred to na stronie internetowej, edytuj łańcuch SqlDataConnection w poniższym kodzie dla serwera i nazwy bazy danych, powinna działać poprawnie.
Należy pamiętać, że jedyną zmianą, którą wprowadziłem w zapytaniu, jest uzyskanie tylko jednego wiersza do zaktualizowania. Teraz zwracany jest dokładnie jeden wiersz. Wydaje się ważniejsze, aby zobaczyć prosty przypadek zmiany jednego wiersza. Przynajmniej to przed wyświetleniem wielokrotnych zmian na raz.
Czy guru może zmienić ostatnie 4 linie w zalecany sposób F # -Type-Provider, aby wprowadzić zmiany w danych zwracanych przez zapytanie i zapisać zmieniony wiersz w bazie danych?
Na przykład zmień wiersz.TestData1 z 10 na 11 i zapisz go w bazie danych.
Podsumowując: MSDN page ułatwia nam F # -Type-Provider początku robi CRD w CRUD.
Czy guru może podać nam nowicjuszy na prawym/łatwym F # -Type-Provider sposób zrobić U w CRUD?
Wielkie dzięki!
#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)
"Jeśli przegapię to, gdzie na tej stronie wyświetla się U w CRUD, po prostu zastrzel mnie teraz i przestań czytać ... *" Cóż, napisałeś kod do zapytania, gdy pytasz o aktualizację, zamiast kodu aktualizowanie. :-P – ildjarn