Je reçois l'erreur suivante "séquence contient plusieurs éléments" lorsque vous tentez de remplir mon objet de table de promotion. Je sais que je reçois cette erreur car ma requête renvoie plusieurs valeurs comme il se doit. Quelqu'un peut-il me diriger dans la bonne direction quant à la façon de supprimer plusieurs enregistrements en plus de la boucle (si possible avec EF).séquence contient plus d'un élément
principal proc:
TBLPROMOTIONCOLLECTION promotionCollectionInfo = null;
using (webStoreEntities webStoreContext = new webStoreEntities())
{
promotionCollectionInfo = WebStoreDelegates.selectPromotionCollection.Invoke (webStoreContext).ByPromoID(promotionId).ToList().SingleOrDefault();
if (promotionCollectionInfo != null)
{
webStoreContext.DeleteObject(promotionCollectionInfo);
webStoreContext.SaveChanges();
}
}
Délégué selectPromotionCollection:
public static Func<webStoreEntities, IQueryable<TBLPROMOTIONCOLLECTION>> selectPromotionCollection =
CompiledQuery.Compile<webStoreEntities, IQueryable<TBLPROMOTIONCOLLECTION>>(
(promotion) => from c in promotion.TBLPROMOTIONCOLLECTION
select c);
filtre ByPromoID:
public static IQueryable<TBLPROMOTIONCOLLECTION> ByPromoID(this IQueryable<TBLPROMOTIONCOLLECTION> qry, int promotionID)
{
//Return the filtered IQueryable object
return from c in qry
where c.PROMOTION_ID == promotionID
select c;
}
FirstOrDefault ne résout pas mon problème depuis que je suis dans l'attente des multiples. Toute aide serait appréciée.
Merci, Billy
Pouvez-vous s'il vous plaît affiner votre question. Essentiellement, demandez-vous pourquoi vous avez eu l'erreur "séquence contient plus d'un élément" ou demandez-vous comment supprimer plusieurs objets à la fois dans EF? - PS si vous demandez comment supprimer en bloc des éléments dans EF sans boucler Je pense que la réponse est que vous ne pouvez pas. ObjectContext a seulement une méthode DeleteObject (entité d'objet) et n'a pas un DeleteAllObjects ou une méthode similaire. –
Demander comment contourner l'erreur que j'ai eue parce que j'ai besoin de supprimer des multiples. Devinez vous avez répondu à ma question. Probablement juste aller la route SP. Merci. –