【发布时间】:2020-11-01 22:42:38
【问题描述】:
我使用 MongoDB 驱动程序,我有以下课程:
public class Transactions
{
public ObjectId Id { get; set; }
public int UserId { get; set; }
public int AccountId { get; set; }
public int SettingId { get; set; }
}
public class Account
{
public int Id {get; set;}
public int Name {get; set;}
}
public class User
{
public int Id {get; set;}
public int Name {get; set;}
}
public class Setting
{
public int Id {get; set;}
public int Name {get; set;}
}
我想根据用户的输入形成这个:
var docs = collection.Aggregate()
.Lookup("account", "AccountId", "_id", "asAccounts")
.Lookup("user", "UserId", "_id", "asUsers")
.Lookup("setting", "SettingId", "_id", "asSettings")
.As<BsonDocument>()
.ToList();
也就是说,如果用户只是想与帐户建立关系,请形成:
var docs = collection.Aggregate()
.Lookup("account", "AccountId", "_id", "asAccounts")
.As<BsonDocument>()
.ToList();
或者如果他想要与帐户和用户的关系:
var docs = collection.Aggregate()
.Lookup("user", "UserId", "_id", "asUsers")
.Lookup("setting", "SettingId", "_id", "asSettings")
.As<BsonDocument>()
.ToList();
我想做的是根据用户的需要形成查询。只是想知道如何在运行时链接方法。
【问题讨论】:
标签: c# linq dynamic method-chaining