早期我们使用LINQ
提供程序MongoDb
,但现在我们已经迁移到MongoDb c# driver 2.0
并且有一些我不明白的事情。
当我们使用LINQ
提供者时,查询如下所示:
var query = from c in dbCollection.AsQueryable()
where c.UserId == userId && c.CampaignId == campaignId
select c;
但现在我可以通过几种方式实现它:
var query =
Builders<Analytics>.Filter.Eq(a => a.UserId, userId) &
Builders<Analytics>.Filter.Eq(a => a.CampaignId, campaignId);
和
Builders<Analytics>.Filter.Where(
c => c.created >= Convert.ToDateTime(dateFrom) &&
c.created <= Convert.ToDateTime(dateTo));
这些方法有什么不同或优点吗?