dễ làm theo tấm gương của CRD (Create, Read, Delete) xuất hiện trong MSDN hereLàm thế nào để đặt U trong F # Loại nhà cung cấp CRUD?
Có một đẹp link on the page to a script để tạo ra một cơ sở dữ liệu kiểm tra, và tôi đã làm như vậy, và dễ dàng nhận được tất cả các ví dụ làm việc cho CRD .
Thậm chí còn tiện dụng phụ tiêu đề trên trang cho CRD:
(Tạo hàng) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_UpdateDB
(đọc hàng) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_QueryData
(Xóa hàng) http://msdn.microsoft.com/en-us/library/hh361033.aspx#BKMK_DeleteRows
Một gọi là BKMK_UpdateDB không làm U trong CRUD. Tên của nó nói Update, nhưng nó thực sự là C trong CRUD.
Nếu tôi bỏ lỡ where on this page U trong CRUD được hiển thị, chỉ cần bắn tôi ngay bây giờ và bỏ đọc ...
Có thể một trong những guru của ở đây vui lòng cung cấp một chút giúp đỡ?
Để làm giảm tải công việc cho guru: Dưới đây là mã khá giống như xuất hiện trên the MSDN web page.
Chỉ cần chạy cơ sở dữ liệu thử nghiệm tạo .sql script referred to trên trang web, chỉnh sửa chuỗi SqlDataConnection trong mã bên dưới cho máy chủ và tên cơ sở dữ liệu của bạn, nó sẽ chạy tốt.
Lưu ý rằng thay đổi duy nhất tôi thực hiện cho truy vấn là chỉ nhận được một hàng để cập nhật. Bây giờ chính xác một hàng được trả về. Có vẻ quan trọng hơn khi thấy trường hợp đơn giản của một hàng đã thay đổi. Ít nhất là trước khi hiển thị nhiều thay đổi cùng một lúc.
Guru có thể thay đổi 4 dòng cuối thành cách F # -ype-Provider được đề xuất để thực hiện thay đổi đối với dữ liệu được truy vấn trả về và viết hàng đã thay đổi đó vào cơ sở dữ liệu không? Ví dụ: thay đổi hàng.TestData1 từ 10 đến 11 và ghi nó vào db.
Tổng hợp: MSDN page giúp chúng ta dễ dàng F # -Type-Nhà cung cấp mới làm CRD trong CRUD.
Guru có thể điền vào chúng tôi những người mới ở bên phải/dễ F # -Type-nhà cung cấp cách để làm U trong CRUD?
Rất cám ơn!
#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)
"* Nếu tôi bỏ lỡ nơi trên trang này thì U trong CRUD được hiển thị, chỉ cần bắn tôi ngay bây giờ và bỏ đọc ... *" Vâng, bạn đã đăng mã để truy vấn khi hỏi về cập nhật, thay vì mã cho đang cập nhật. :-P – ildjarn