J'essaye de réutiliser une partie d'une requête, parce que c'est assez complexe que je veux essayer d'éviter la duplication de code.Comment les requêtes Entity Framework peuvent-elles être réutilisées (en utilisant des méthodes)?
Il semble que lorsque vous appelez une méthode dans une requête, vous vous retrouvez avec:
LINQ to Entities ne reconnaît pas la méthode de la méthode {X} et cette méthode ne peut pas être traduit en une magasin expression
Ce que je voudrais faire est idéalement utilisation:
var q = from item in context.Items
where item.SomeCondition == true
select new {Item = item, Connections = GetConnections(item)};
GetConnections
est la méthode qui effectue des requêtes sur item
. J'essaye de réutiliser la question (plutôt complexe) dans GetConnections
, mais je ne suis pas sûr de savoir comment faire fonctionner ceci.
signature actuelle de GetConnections est quelque chose comme:
IQuerable<Connection> GetConnections(MyItem item)
Une idée comment faire la même chose quand vous n'avez pas un 'IQuerable' mais juste 'Client '? Est-ce que c'est possible? –
CustomerWithRecentOrders x = myContext.Customers .Where (c => c == myCustomer) .Sélectionnez (sélecteur) .Single() –