如何使用C#MongoDB驱动程序将独特的查询与投影结合在一起

时间:2018-10-10 08:11:11

标签: c# mongodb

我尝试将一个投影和一个独特的对象与MongoDB驱动程序结合起来,但是什么也没得到...

我有:

var coll = db.GetCollection<Vat>(CommonConstants.VatCodeCollection);
// I like to combine in one statement:
var result = coll.Distinct<DateTime>("ValidSince", filter).ToList();    
var projection = Builders<Vat>.Projection.Expression(x => new VatPeriod { ValidSince = x.ValidSince });

因此,最后我想通过一条语句得到一个List<VatPeriod>。我当然可以做类似的事情

var coll = db.GetCollection<Vat>(CommonConstants.VatCodeCollection);
List<VatPeriod> vatPeriods = null;

try
{
    var result = coll.Distinct<DateTime>("ValidSince", filter).ToList();
    if (result.Count > 0)
    {
        vatPeriods = new List<VatPeriod>(result.Count);
        foreach (var dateTime in result)
        {
            vatPeriods.Add(new VatPeriod() {ValidSince = dateTime});
        }
    }
    return vatPeriods;
}
catch .....

在我的存储库类中,但是我希望在Mongo服务器上做所有事情。知道是否可行以及如何实现吗?

0 个答案:

没有答案