L'utilisation de Joindre, Group By, et de la Somme dans le Cadre de l'Entité
Mes modèles ressemblent:
public class ReturnItem
{
public int returnItemId { get ; set; }
public int returnRequestId { get; set; }
public int quantity { get; set; }
public string item { get; set; }
}
public class ReturnRequest
{
public int returnRequestId { get; set; }
public string orderNumber { get; set; }
public IEnumerable<ReturnItem> returnItems { get; set; }
}
Et j'ai la requête suivante:
SELECT item, sum(quantity)
FROM ReturnItem
JOIN ReturnRequest
ON ReturnRequest.returnRequestId = ReturnItem.returnRequestId
WHERE ReturnRequest.orderNumber = '1XX'
GROUP BY item
Comment puis-je convertir la requête Entity Framework et le retour d'un List<ReturnItem>
? Puis-je utiliser .Include
au lieu de .Join
?
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas utiliser
Include
au lieu deJoin
parce queInclude
traduit en Jointure Externe Gauche mais vous avez besoin Inner Join ici.Mais vous pouvez utiliser une propriété de navigation pour effectuer la jointure implicitement:
List<ReturnItem>
à partir de cette requête?new ReturnItem { item = g.Key, quantity = g.Sum(i => i.quantity)}
au lieu de l'objet anonyme. La conversion de la liste est assez facile je penseThe specified type member 'returnItems' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
AsEnumerable()
appel et le projet des objets anonymes àReturnItem
type