Этот вопрос является продолжением текста ссылки , следовательно, вновь в заголовке. Я поднимаю этот вопрос как новый вопрос, поскольку принятый ответ и комментарий, сделанные в рамках исходного вопроса, предполагают, что ключевое слово equals, используемое в запросе соединения, относится только к типам значений в сравнении. Я считаю, что это вводит в заблуждение следующим образом.
За кулисами для сравнения ключей используется поиск по равенству по умолчанию. Объединение реализовано в Enumerable.Join, и ключ может быть либо значением, либо ссылкой.
В другой ответ был включен пример использования POCO. Я могу только предположить, что поскольку соединения используются в Linq to Sql для первичных ключей, то, поскольку это часто простые типы значений, возникает путаница.
Значит, равные сравнивают значения и ссылки на объекты?
Я правильно понял?