您正在使用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; }
}
我不知道我错在哪里......任何想法?
答案 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/