Pourquoi .NET Entity Framework produit-il un SQL qui utilise une sous-requête et une jointure externe gauche sur une simple relation 1-à-1? Je m'attendais à voir une simple jointure sur les deux tables. J'utilise Devart Dotconnect for Oracle. Des idées?Entity Framework - Pourquoi EF utilise-t-il LEFT OUTER JOIN dans une relation 1-à-1?
Ci-dessous est la sortie que je vois avec la permission de la EFTracingProvider:
SELECT
1 AS C1,
"Join1".USER_ID1 AS USER_ID,
...
FROM "MY$NAMESPACE".MYTABLE1 "Extent1"
INNER JOIN (...
FROM "MY$NAMESPACE".MYTABLE2 "Extent2"
LEFT OUTER JOIN "MY$NAMESPACE".MYTABLE1 "Extent3" ON "Extent2".OTHER_ID = "Extent3".OTHER_ID)
"Join1" ON "Extent1".OTHER_ID = "Join1".OTHER_ID1
WHERE "Extent1".USER_ID = :EntityKeyValue1
-- EntityKeyValue1 (dbtype=String, size=6, direction=Input) = "000000"
Vos tables sont-elles correctement importées? – overslacked
Oui, il existe une clé étrangère de MYTABLE1 à MYTABLE2. –
Est-ce que cela provient d'une requête EF? Ou simplement un simple()? – mxmissile