3
\$\begingroup\$

I'm using Microsoft's SqlDataConnection type provider. However, the only way I've seen to update a row in the database is to use something similar to this where it updates mutable values:

let updateProduct product = 
  let currentProduct = query {
    for c in context.Product do
    where (c.Product_id = product.ProductId)
    select c } 

let record = currentProduct |> Seq.head

record.Product_name <- product.ProductName
record.Product_count <- Nullable<int>(product.ProductCount)
record.Product_price <- product.ProductPrice

try
    context.DataContext.SubmitChanges()
with
    | ex -> printfn "Error when inserting - %s" ex.Message

In case it's needed, I'm using this Product type:

[<CLIMutable>]
type Product = {
  ProductId: int
  ProductName: string
  ProductCount: int
  ProductPrice: string
}

Is there a "more F# way" to handle the update instead of updating the record I find from the database?

\$\endgroup\$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.