考慮存儲爲文件下列對象結構嵌套陣列上過濾器製造商:查詢使用MongoDB的C#驅動
public class Foo
{
public string Id { get; set; }
public ICollection<FooBar> Bars { get; set; }
// ...
}
public class FooBar
{
public string BarId { get; set; }
// ...
}
使用LINQ風格的查詢與司機,我可以Find
所有Foo
包含一個FooBar
BarId
像這樣的:
var foos = await m_fooCollection.Find(f => f.Bars.Any(fb => fb.BarId == "123")).ToListAsync();
如何在Find
使用的FilterDefinitionBuilder
而不是在線LINQ我實現這個相同的查詢?
它不是LINQ,只是一個lambda表達式。 – i3arnon
'.Any'在'ICollection'上是'System.Linq'命名空間中'Enumerable'類的一部分,對嗎? – kspearrin
的確,但這種方法永遠不會被調用。驅動程序將表達式轉換爲mongo查詢。 – i3arnon