public void DistinctGroups() { var dbSet = new MongoDbBucketSet <EntityGroup, SubEntityClass>(new BucketSetOptions { BucketSize = 2, EntityTimeProperty = "Date" }); dbSet.SetConnection(TestConfiguration.GetConnection()); dbSet.AddRange(new EntityGroup { Name = "Group1" }, new[] { new SubEntityClass { Label = "Entry1", Date = new DateTime(2020, 1, 1) }, new SubEntityClass { Label = "Entry2", Date = new DateTime(2020, 1, 2) }, new SubEntityClass { Label = "Entry3", Date = new DateTime(2020, 1, 3) } }); dbSet.AddRange(new EntityGroup { Name = "Group2" }, new[] { new SubEntityClass { Label = "Entry1", Date = new DateTime(2020, 1, 1) }, new SubEntityClass { Label = "Entry2", Date = new DateTime(2020, 1, 2) }, new SubEntityClass { Label = "Entry3", Date = new DateTime(2020, 1, 3) } }); dbSet.SaveChanges(); Assert.AreEqual(4, dbSet.Count()); var results = dbSet.Groups().OrderBy(g => g.Name).ToArray(); Assert.AreEqual(2, results.Length); Assert.AreEqual("Group1", results[0].Name); Assert.AreEqual("Group2", results[1].Name); }