les données comme ceci: fichier1 fichier2 AAAA lait AAAA rouge boîte bbbb bbbb stylo cccc rose je veux obtenir le résultat comme ceci: fichier1: AAAA bbbb cccc qui peut me dire comment faire en utilisant DB4objects en attente en ligne ....Comment utiliser la distincte sur les bases de données db4o
0
A
Répondre
2
Pour autant que je sache, db4o n'a pas de support direct pour l'opération 'distincte'. Cependant, puisque vous utilisez le framework .NET, vous pouvez utiliser l'opération LINQ-Distinct sur votre résultat. Je suppose que vous utilisez .NET 3.5 et C#. Dis-moi quand j'ai tort.
Par exemple:
IObjectContainer db = // ...
var persons = (from Person p in db
select p).Distinct();
Cela renverra le résultat distinct de toutes les personne-objets. Il utilisera GetHashCode() et Equals() - Methods pour comparer les objets.
Si vous ne voulez pas utiliser une valeur par défaut égale comparaison, vous pouvez passer une IEqualityOperator instance à la méthode distincte:
class PersonByNameEquality : IEqualityComparer<Person>
{
public bool Equals(Person x, Person y)
{
return x.Firstname.Equals(y.Firstname);
}
public int GetHashCode(Person obj)
{
return obj.Firstname.GetHashCode();
}
}
// and then
IObjectContainer db = //...
var persons = (from Person p in db
select p).Distinct(new PersonByNameEquality());
Pouvez-vous fournir plus d'informations? Dans quel environnement, Java ou .NET? Distinct sur un champ ou un objet? – Gamlor
.NET distinct sur un objet –
comme ceci: les gens ont deux propriétés, l'une est le sexe l'autre est le nom, je veux le sexe distinct. Le résultat est 'homme' ou 'women'.using. Net in db4o merci –