1

我一直在研究 F# 与 CRUD 和 data 的关系。我一直在使用 FSharp.Data.SqlClient

我看不到从对象更新所有字段的简单方法。

例如,我想执行下面的代码 - 然后我想将该数据呈现给网页。网页将进行一些更改(也许) - 然后我想使用该对象来更新数据库。

我不想编写代码来映射每个字段。此外,我仍在努力弄清楚这是如何以不可变的方式完成的。

let getOrders2() = 
    let cmd = new SqlCommandProvider<"
    SELECT top 10 * from orders
    " , connectionString>(connectionString)

    let orders = cmd.Execute()

    let o2 = orders |> Seq.toList
4

1 回答 1

1

从一个对象一次更新多个字段很简单:

let updateEmployee employee =
    use cmd =
        new SqlCommandProvider<
            "update Employees set \
            FirstName = @FirstName,
            LastName = @LastName
            where EmployeeID = @EmployeeID",
            connectionString>(connectionString)
    let nRows =
        cmd.Execute(
            employee.FirstName,
            employee.LastName,
            employee.EmployeeID)
    assert(nRows = 1)

使用不可变对象编写 Web 应用程序是一个很大的话题。您是仅在服务器上使用 F#,还是也在客户端上使用 F#?

于 2021-02-20T04:04:55.943 回答