CRD (作成、読み取り、削除) のわかりやすい例は、MSDN のこちらにあります。
このページには、テスト データベースを作成するためのスクリプトへの素敵なリンクがあり、私はそうしましたが、CRD で動作するすべての例を簡単に取得できました。
CRD のページには便利なサブヘッダーもあります。
(行を作成) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_UpdateDB
(行を読む) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_QueryData
(行を削除) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_DeleteRows
BKMK_UpdateDB というものは、CRUD で U を実行しません。その名前は Update と書かれていますが、実際には CRUD の C を実行します。
このページでCRUDのUが表示されている場所を見逃した場合は、今すぐ撃って読むのをやめてください...
ここにいる教祖の一人が少し助けてくれませんか?
第一人者のがらくた作業負荷を軽減するには: 以下は、MSDN Web ページに表示されているコードとほぼ同じです。
Web ページで参照されている test-database-create .sqlスクリプトを実行し、以下のコードの SqlDataConnection 文字列をサーバーとデータベース名に合わせて編集するだけで、正常に動作するはずです。
クエリに加えた唯一の変更は、更新する行を 1 つだけ取得することです。これで、正確に 1 行が返されます。1行が変更されたという単純なケースを見ることがより重要に思えます。少なくとも一度に複数の変更を表示する前に。
達人は最後の 4 行を推奨される F#-Type-Provider の方法に変更して、クエリによって返されるデータを変更し、その変更された行をデータベースに書き込むことができますか?
たとえば、row.TestData1 を 10 から 11 に変更し、それをデータベースに書き込みます。
まとめ: MSDN ページは、F#-Type-Provider の初心者が CRUD で CRD を実行するのを容易にします。
達人は、CRUD で U を実行するための適切で簡単な F#-Type-Provider の方法について、初心者に記入してもらえますか?
どうもありがとう!
#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)