У меня есть следующий запрос linq, который создает левое соединение между двумя таблицами:
var joinResultRows = from leftTable in dataSet.Tables[leftTableName].AsEnumerable()
join
rightTable in dataSet.Tables[rightTableName].AsEnumerable()
on leftTable.Field<string>(leftComparedColumnName) equals rightTable.Field<string>(rightComparedColumnName)
into leftJoinedResult
select new { leftTable, leftJoinedResult };
я хочу получить строки, которые отвечают на это:
строковое значение в левом столбце содержит строковое значение в правом столбце.
Я попробовал это:
var joinResultRows = from leftTable in dataSet.Tables[leftTableName].AsEnumerable()
join
rightTable in dataSet.Tables[rightTableName].AsEnumerable()
on leftTable.Field<string>(leftComparedColumnName).Contains(rightTable.Field<string>(rightComparedColumnName)) equals true
into leftJoinedResult
select new { leftTable, leftJoinedResult };
, но это не работает, потому что rightTable не распознается в левой части объединения.
Как мне создать объединение, которое приводит к String.Contains, я делаю содержимое в предложении 'where' или в предложении 'On'?