Чтобы упростить мою текущую ситуацию, скажем, у меня есть 2 стола (устаревшие, поэтому я не могу коснуться схемы, чтобы играть лучше с Linq)
node
Columns: key_field1, key_field2, [lots of other fields]
node_children
Columns: parent_key_field1, parent_key_field2, child_key_field1, child_key_field2
node_children похож на таблицу соединений has_and_belongs_to_many из Rails ... за исключением того, что оба идентификатора ссылаются на одну и ту же таблицу.
В идеале я хотел бы иметь класс узла, который имеет свойство Children, которое возвращает правильный список?
Результаты должны быть эквивалентны
select * from node
join node_children
on node.key_field1 = node_children.child_key_field1 and node.key_field2 = node_children.child_key_field2
where node_children.parent_key_field1 = @paramX and node_children.parent_key_field2 = @paramY
Какой лучший способ смоделировать это в Linq to Sql?