Насколько мне известно. Фактически, LINQ сам по себе не является особенно «реляционным» в оригинальном смысле слова «Кодд». (SQL тоже нет, но это уже другая история.)
Для того, чтобы установить тон, LINQ даже не имеет понятия отношения (свободно говорящего, набора корней типа «имя/значение», соответствующих заголовку , который является корнем типа name/type). Это касается последовательностей, а не наборов и объектов вместо кортежей. Даже анонимные объекты не совпадают с именами кортежей в смысле реляционной модели, так как new { b = 2, a = 1 }
не только не равен new { a = 1, b = 2 }
, они даже не одного типа!
Справедливости ради следует отметить, что LINQ является огромным улучшением по сравнению с обломками поезда для доступа к данным за последние 40 лет, но это всего лишь крошечный шаг в правильном направлении, и я подозреваю, что нет никакого намерения шаги. На самом деле LINQ-to-EF мне кажется огромным шагом в неправильном направлении, к моделированию ОО и от реляционной модели (конечно, не все согласятся со мной на этом ;-).
Определить 'реляционные функции' –