C# Db4o选择随机对象

C# Db4o选择随机对象,c#,db4o,C#,Db4o,有人知道如何从Db4o数据库中选择随机对象吗 我认为最好的办法就是这样。运行查询并以IList的形式获取结果。由于返回的列表延迟加载对象(至少在嵌入式模式下),因此可以通过索引拾取随机对象 大概是这样的: public static ICollection<T> RandomObjects<T>(IList<T> objectSet, int amount) { var resultSet = new HashSet<T&

有人知道如何从Db4o数据库中选择随机对象吗

我认为最好的办法就是这样。运行查询并以IList的形式获取结果。由于返回的列表延迟加载对象(至少在嵌入式模式下),因此可以通过索引拾取随机对象

大概是这样的:

    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;
    }
编辑:更改为C#

    IList<Person> potentialObjects = container.query(Person.class);
    ICollection<Person> randomObject = RandomObjects(potentialObjects,10);
var random = from Person p in dbc
          where new Random().Next(2) == 1 
          select p;