Slide 11
Slide 11 text
Loading Into SQL
doc.Channels
|> Array.map (fun channel ->
match channel.DisplayNames with
| [| fullName; displayName; number |] ->
Some({ XmlTvId = channel.Id
FullName = fullName.String.Value
DisplayName = Regex.Replace(displayName.String.Value, "\\-HD$",
"", RegexOptions.None)
Number = number.Number.Value })
| _ -> None
)
|> Array.choose id
|> Array.filter (fun channel -> channel.Number > 500 && channel.Number < 1000)
|> Array.iter (fun channel ->
use cmd = new SqlCommandProvider<
"INSERT INTO Channel VALUES (@xmlTvId, @displayName, @fullName, @number)",
"name=TVListings">()
cmd.Execute(xmlTvId = channel.XmlTvId, displayName = channel.DisplayName,
fullName = channel.FullName, number = channel.Number) |> ignore
printfn "Added channel: %s" channel.DisplayName
)