加入操作不工作mongo c#driver linq

时间:2016-02-29 11:52:55

标签: c# mongodb linq

您正在使用mongo c#driver v2.2.3,他们已经引入了连接操作($ lookup)。当我尝试执行连接操作时,我将联合文档集合计数为零。我已关注此链接http://mongodb.github.io/mongo-csharp-driver/2.2/reference/driver/crud/linq/,我的代码是

    var query = from c in collection1.AsQueryable<Class>()
        join m in collection2.AsQueryable<ClassTwo>() on 
 c.ClassTwoId equals m.Id into j select new { c,j }; 
     var r = await query.ToListAsync();

我的班级是......

 public class Class
    {
        public ObjectId Id { get; set; }
        public string SomeText{ get; set; }
        public ObjectId ClassTwoId { get; set; }
        public ObjectId ClassThrId { get; set; }
        public DateTime CreatedDate { get; set; }
    [BsonIgnore]
        public ClassTwo ClassTwoDeatils { get; set; }
}

我不知道我错在哪里......任何想法?

1 个答案:

答案 0 :(得分:2)

此博客提到C#驱动程序v2.2.3中存在错误,并且需要v2.2.4才能将$ lookup函数与驱动程序一起使用。可能值得升级到2.2.4,看看是否能解决您的问题。

https://www.axonize.com/blog/joining-collections-mongodb-using-c-driver-linq/