Я не вижу много примеров того, как упорствовать с linq/flinq - я могу в конечном счете написать proc для dowhat, в котором я нуждаюсь, но соотношение 1 -> * между tableA и tableC делает это сложнее. Можете ли вы упорствовать с flinq? Есть ли какой-нибудь пример, где я мог бы следовать? Ниже я попытался (или, вернее, самый логичный вариант того, что я пробовал).Использовать fLinq для сохранения?
Заранее спасибо.
TableA (1) -> (1) TableB
TableA (1) -> (*) TableC
// add the report
let b = TableB()
b.Name <- getName()
// add the authors
let authorSet = Data.Linq.EntitySet<TableC>()
getAuthorIds document.Authors |> Seq.iter
(fun id ->
let c = TableC()
c.Id <- id
authorSet.Add c)
// add the tagged report w/ associated reoprt
let a = TableA()
a.field1 <- "Something"
a.tableB = b
a.TableC <- authorSet
let docSet = Data.Linq.EntitySet<TableA>()
docSet.Add doc
db.TableA.InsertAllOnSubmit([doc])
let cf = db.ChangeConflicts
let cm = db.GetChangeSet
спасибо - у меня возникли проблемы с поиском этого на MSDN/web. – akaphenom