Впереди очевидные проблемы с производительностью, в зависимости от размера каждой стороны объединения, поэтому реальное предостережение - масштаб.
Вам не нужно будет выполнять какое-либо преобразование, вы можете выбрать строки из набора данных / таблицы, как вы это обычно делаете с LINQ, и просто включить предложение "on", чтобы указать, как сравнить строку с вашим List<T>
.