Ich habe versucht, für ein paar Tage zu schreiben, um diese Abfrage in LINQ "ohne Erfolg" zu "übersetzen". Könnt ihr mir bitte helfen? Ich würde auch eine Erklärung schätzen, um etwas daraus zu lernen.Unterabfragen in linq
ist die T-SQL-Abfrage:
SELECT R.ResourceID, R.DefaultValue
FROM Resources as R
JOIN
(SELECT [t0].[NameResourceID] AS [ResourceID]
FROM [dbo].[Sectors] AS [t0]
LEFT OUTER JOIN [dbo].[LocalizedResources] AS [t1] ON [t0].[NameResourceID] = [t1].[ResourceID] and [t1].[LanguageID] = 2
WHERE t1.Value IS NULL) AS subQ
ON R.ResourceID = subQ.ResourceID
Warum Sie "joining" zu diesem SubQ ... du bist ziehe keinen einzigen Wert heraus. Das sollte eine WHERE-Klausel sein, da Sie sie nur zum Filtern verwenden. Das ist wahrscheinlich der Grund, warum es dir schwer fällt, es zu übersetzen. –
Ich brauche nur die IDs dieser Einträge von subQ. Tatsächlich benutze ich es nur zum Filtern. Ich konnte einfach keine bessere Lösung finden. Hast du irgendwelche Vorschläge? Grundsätzlich versuche ich alle Ressourcen zu finden, die nicht in der Sprache X lokalisiert waren und dann zu sehen, ob es irgendwelche Sektoren unter ihnen gibt. –