Я использую EF 4.1 и базу данных, которую я не проектировал.У меня есть две таблицы
TableA
[
TableAKey,
OtherField
]
TableB
[
TableBKey,
TableAKey, <-- Foreign Key
OtherField
]
У меня проблема в том, что внешний ключ не обнуляется при удалении родительской записи.Это то, что я не могу контролировать и не могу изменить.При выборе из TableB я хочу исключить все строки с отсутствующими записями TableA.
В SQL это легко сделать с помощью простого INNER JOIN.Однако приведенное ниже linq не объединяет таблицы.Я думаю, это оптимизирует SQL.Приведенный ниже код генерирует SQL, который не упоминает TableA.Может быть, потому что я ничего не возвращаю.
(from b in TableB
join a in TableA on b.TableAKey equals a.TableAKey
where b.OtherField == something
select b).ToList();
Есть ли способ принудительного объединения SQL или лучший способ сделать это.