我的F#程序需要與SQL Server交談。在一個部分,我有這樣的事情:沒有在這樣的時間設置參數一個F#使用參數設置SQLCommand的最佳方式
let workFlowDetailRuncommand = new SqlCommand(query, econnection)
workFlowDetailRuncommand.CommandTimeout <- 100000
workFlowDetailRuncommand.Parameters.Add("@1", SqlDbType.Int).Value <- 42
workFlowDetailRuncommand.Parameters.Add("@2", SqlDbType.VarChar).Value <- "answer"
workFlowDetailRuncommand.Parameters.Add("@3", SqlDbType.VarChar).Value <- mydate.ToString("yyyy.MM.dd")
workFlowDetailRuncommand.Parameters.Add("@4", SqlDbType.VarChar).Value <- "D. Adams"
workFlowDetailRuncommand.Parameters.Add("@5", SqlDbType.DateTime).Value <- DateTime.Now
workFlowDetailRuncommand.Parameters.Add("@6", SqlDbType.Text).Value <- filename
有沒有更idomatic辦法做到這一點(用更少的打字!)。
請看這裏的SqlCommandProvider。可能不完全適合你的用例(特別是在查詢是動態的情況下),但很好地處理參數:http://fsprojects.github.io/FSharp.Data.SqlClient/ –