我想將運行時構建的表達式(CustomExpression)與普通的選擇函數結合起來。有沒有什麼辦法在C#中做到這一點,而無需手動構建整個表達式?LINQ select中的多個表達式
var dto = iqueryable.Select(d => new DTO()
{
X = d.X,
Y = d.Y,
Z = CustomExpression
}
哪裏CustomExpression
是這樣的:
private Expression<Func<EntityTypeFromIQueryable, string>> CustomExpression() {
get {
// there is manually built expression like this:
return x => x.Blah
}
}
你有沒有試過這段代碼?它工作嗎?或者您收到任何錯誤 –
不,您無法編譯此代碼。不能隱式地將類型'System.Linq.Expressions.Expression>'轉換爲'字符串' –
想象一下,「Z」屬性是類型字符串,但CustomExpression是表達式,在編譯返回字符串之後。 –