Abrufen einzelner Entity Framework-Entitäten mithilfe einer LINQ-Abfrage oder GetObjectKey?

Es sieht so aus, als hätte GetObjectKey den Vorteil, nach vorhandenen, instanziierten Objekten und dann nach dem Datenspeicher zu suchen. Es sieht jedoch auch so aus, als ob Sie einen Teil der starken Typisierung verlieren und das resultierende Objekt umwandeln müssen:

GetObjectKey

<code>int customerID = 1;
EntityKey key = new EntityKey("MyEntities.Customers", "CustomerID", customerID);
Customer customer = context.GetObjectByKey(key) as Customer;
</code>

LINQ

<code>int customerID = 1;
Customer customer = (from c in context.Customers 
                     where c.CustomerID = customerID
                     select c).FirstOrDefault();
</code>

Persönlich bevorzuge ich die letztere Methode wegen der Typisierung. Außerdem ist Ihre DAL ziemlich einheitlich, wobei alle Get-Methoden Abfragen sind, obwohl dies nur eine persönliche Präferenz ist.

Was benutzt ihr Jungen und Mädchen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage