如何為 DateTime.Date 創建 Linq 運算式
例如,
var query = CollectionQuery.OrderBy(c => c.CreatedAtUtc.Date); // where CollectionQuerry is User type
var expressions = query.Expression;
當我除錯時,我發現運算式包含運算式型別參考

我希望它是動態的,所以我使用 System.Linq.Expression (ef core 2.2)
ParameterExpression arg = Expression.Parameter(typeof(User), "c");
var memberExpression = Expression.Property(arg, "CreatedAtUtc");
var quoteExpression = Expression.Quote(memberExpression); // no parameter to set .Date
我的問題是我無法使用 .Date 創建運算式,如何創建運算式?謝謝你。
uj5u.com熱心網友回復:
在@Jeremy Lakeman 建議之后
ParameterExpression arg = Expression.Parameter(typeof(User), "c");
var memberExpression = Expression.Property(Expression.Property(arg, "CreatedAtUtc"), "Date"); // add this line
var labmdaExpression = Expression.Lambda<Func<T, DateTime>>(memberExpression, arg);
var quoteExpression = Expression.Quote(labmdaExpression);
當我在除錯時查看 quoteExpression 它會顯示

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/494212.html
上一篇:字典的回傳值,除了給定的鍵
下一篇:C#.Netwhere條件
