Sie sind funktionell gleichwertig. Es könnte geringfügige Unterschiede in der Art und Weise geben, wie sie in den verschiedenen LINQ-Anbietern implementiert werden, aber ich würde fast genau die gleiche Leistung erwarten. Die LINQ to SQL-Provider zum Beispiel erzeugt die exakt gleiche SQL für beide Anfragen:
SELECT [t0].[Id], [t0].[Name]
FROM [dbo].[User] AS [t0]
WHERE [t0].[Id] = @p0
Ich gehe davon aus, dass dies auch für die Entity Framework gilt.
Wenn ich einen wählen müsste, würde ich die zweite Version wählen, weil es prägnanter ist, ohne dass die Klarheit darunter leidet. In der Tat würde ich sagen, es ist klarer - es gibt weniger Keyword-Noise, so dass die Geschäftslogik mehr herausragt.
Pipe die Debug-Informationen aus dem Datenkontext und sehen, welche Abfragen generiert werden –
Sql Profiler hilft normalerweise bei solchen Fragen.)) –