Вот ситуация, с которой я часто сталкиваюсь: у меня есть объекты Parent и Child, а объект Child имеет свойство Parent. Я хочу выполнить запрос, который получает дочерние объекты и соединяет каждый из них с правильным родительским объектом:
Dim db = New DataContextEx()
get the children, along with the corresponding parent
Dim Children = From x In db.ChildTable
Join y In db.ParentTable
On x.ParentId Equals y.Id
Execute x.Parent = y <-- pseudocode
Select x
Псевдокод показывает, что я хочу выполнить: вернуть дочерний объект x, но с кодом после (поддельного) оператора Execute выполнен. Я могу придумать множество способов достижения конечной цели, но все они содержат гораздо больше строк кода и / или создание временных объектов или функций, которые я считаю неэлегантными. (Обратите внимание, что это синтаксис VB.NET, но это не вопрос синтаксиса VB, поскольку AFAIK C # будет иметь ту же проблему.)
Итак, каков был бы самый чистый способ сделать то, что я пытаюсь сделать?
Изменить : Люди спрашивали, какой ORM я использую, но это действительно простой вопрос LINQ; Я не пытаюсь преобразовать это в логику для запуска на сервере, я просто хочу, чтобы некоторый синтаксический сахар запускал клиентскую часть кода после того, как запрос был запущен на сервере.