Я ' У меня чертовски много времени, чтобы понять, как преобразовать простой SQL LEFT OUTER JOIN с предложением where с двумя условиями в рабочий запрос Linq-to-Entities. Всего две таблицы. Мне нужны значения для всех строк из таблицы 1, независимо от совпадений в таблице 2, но предложение WHERE использует поля из таблицы 2. В SQL двумя параметрами будут Table2WhereColumn1 и Table2WhereColumn2, и запрос (который работает) выглядит следующим образом:
SELECT t1.Table1Id,
t1.FieldDescription,
t2.FieldValue
FROM Table1 t1 WITH (NOLOCK)
LEFT JOIN Table2 t2 WITH (NOLOCK) ON t1.Table1Id = t2.Table1Id
WHERE (t2.Table2WhereColumn1 = @someId OR t2.Table2WhereColumn1 IS NULL)
AND (t2.Table2WhereColumn2 = @someOtherId OR t2.Table2WhereColumn2 IS NULL)
ORDER BY t1.OrderByColumn
Я пробовал использовать Group Join
с DefaultIfEmpty ()
, а также неявное соединение (без фактического ключевого слова Join
), и я получаю только строки для элементов, значения которых указаны в Table2. Я уверен, что это не поможет, но вот пример Linq, который я пробовал, который не работает:
Я не работаю с Interface Builder.
Вы можете привести мне один пример?
Мне нужно было получить координаты точки, в которой пользователь касается MKMapView. Я не работаю с Interface Builder. Можете ли вы привести мне один пример?