Je crois que je suis en train de faire ce qui suit:Entity Framework 4: Quelles sont les causes .Take (10) pour retourner 20 enregistrements?
var myQuery = Products.Where(p => p.deptid = 3);
var myCount = Products.Count();
var myResult = myQuery.OrderBy(p => p.deptname).Skip(10).Take(10);
//then return an object with a count property and a List<Product> property.
Parfois, cela renvoie le double du montant de prise.
Il y a quelques couches dans ma solution, à savoir un référentiel et une couche de service. Je suis à peu près sûr que je ne commande pas, ne saute pas, et ne prends pas dans mon référentiel, et c'est le code de couche de service. Qu'est-ce qui pourrait faire que myResult ait plus de 10 enregistrements quand je prends 10 enregistrements?
Peut-être montrer comment vous "renvoyez un objet avec une propriété count et une propriété List" –
Que voulez-vous dire par 'Sometimes'? dans ce cas, combien d'articles figurent dans votre liste de produits, et dans d'autres cas, combien y en a-t-il? Je parie que vous devriez avoir d'autres codes qui cause ce problème. pour voir cela, ajoutez '.ToList()' à la fin de Take (10) –
Yep, quelque chose d'autre est à l'origine du problème. Tout d'abord, vous avez '.Take (10)' mais pas '.ToList()' à la fin. Donc 'myResult' est un' IQueryable '. Affiche le code dans lequel vous matérialisez une requête dans une collection concrète. –
RPM1984