我正在創建一個這樣的投影變數:
var projection = Builders<Items>.Projection
.Include(x => x.Name);
該Include方法采用一個運算式Expression<Func<TSource,object>> field。
我想做的是將名為keyexample 的字串引數轉換為x.Name,以便能夠Items在運行時動態投影其他欄位。
var key = "Name";
var projection = Builders<Items>.Projection
.Include(x => x."key");
uj5u.com熱心網友回復:
正如評論中寫的這個答案作為未來的參考,您可以申請
.Include(key)
提供一個string作為欄位名稱的值。
從ProjectDefinition<TDocument>.Include<TDocument>(),它支持與FieldDefinition型別的引數,
public static ProjectionDefinition<TDocument> Include<TDocument>(this ProjectionDefinition<TDocument> projection, FieldDefinition<TDocument> field)
這FieldDefinition<TDocument>將從string值執行隱式轉換。
public static implicit operator FieldDefinition<TDocument>(string fieldName)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/497321.html
