Est-ce que quelqu'un sait comment sélectionner des objets aléatoires à partir d'une base de données Db4o?Db4o sélectionner des objets aléatoires
0
A
Répondre
1
Je pense que la meilleure façon est la suivante. Exécutez une requête et obtenez le résultat en tant que IList. Puisque la liste retournée charge paresseusement l'objet (au moins en mode intégré), vous pouvez sélectionner des objets aléatoires par l'index.
Quelque chose comme ceci:
public static ICollection<T> RandomObjects<T>(IList<T> objectSet, int amount)
{
var resultSet = new HashSet<T>();
var random = new Random();
amount = Math.Min(objectSet.Count, amount);
while (resultSet.Count<amount)
{
resultSet.Add(objectSet[random.Next(amount)]);
}
return resultSet;
}
Et puis l'utiliser:
IList<Person> potentialObjects = container.query(Person.class);
ICollection<Person> randomObject = RandomObjects(potentialObjects,10);
Une autre possibilité serait de construire une LINQ-Query qui correspond au hasard. Cependant, une telle requête ne peut pas être optimisée, donc pourrait mal fonctionner.
var random = from Person p in dbc
where new Random().Next(2) == 1
select p;
Edit: Changé à C#
Questions connexes
- 1. db4o problème avec le graphique des objets
- 2. PHP MySQL sélectionner des lignes aléatoires
- 3. db4o SODA compare les valeurs des champs
- 4. Comment sélectionner des valeurs aléatoires d'une plage donnée
- 5. ActiveRecord sélectionner des attributs sans objets AR
- 6. Zend Framework Sélectionner des objets et UNION()
- 7. Django sélectionner des objets avec ManyToManyField vide
- 8. générer des énumérations aléatoires
- 9. Enregistrement actif: Obtenez deux objets aléatoires?
- 10. Db4o sélectionnez la performance
- 11. expériences db4o?
- 12. affichant des nombres aléatoires
- 13. Détecter des chaînes aléatoires
- 14. sur des valeurs aléatoires
- 15. Comment sélectionner N lignes aléatoires en utilisant SQL pur?
- 16. Cueillir des coordonnées aléatoires sans doublons?
- 17. Comment assigner par programmation des couleurs aléatoires à des objets dans 3ds max?
- 18. db4o Mvc Architecture d'application
- 19. Comment obtenir des lignes aléatoires avec nhibernate?
- 20. Sélection des nombres aléatoires sdk iphone
- 21. db4o Système de réplication: NullReferenceException?
- 22. En utilisant Linq, ordonner des objets par une propriété et sélectionner les 2 premiers objets
- 23. Comment sélectionner d'autres objets d'un groupe? (Flex)
- 24. db4o: compactage/rétrécissement
- 25. db4o interrogation sous-objet
- 26. ninject 2 et db4o
- 27. Structure db4o Arbre C#
- 28. Comment puis-je sélectionner des fichiers aléatoires à partir d'un répertoire dans bash?
- 29. Sélectionner des lignes aléatoires mais sans doublons de valeurs d'une colonne
- 30. Une seule requête pour sélectionner des images aléatoires de X parents uniques?
dans quelle langue? – skaffman
Ce sera en C# –
a changé ma réponse en C# – Gamlor