在我的代碼獲取日期我有以下使用LINQ表達式從一個DateTime屬性
ParameterExpression parameter = Expression.Parameter(typeof(TSource), "x");
MemberExpression property = Expression.Property(parameter, filterDataField);
已工作的罰款,直至現在。但如果filterDataField是TSource中的DateTime屬性,我想獲取日期部分。例如。 x.Created.Date
這可能使用LinQ表達式和linq-to-sql(EntityFramework)?
編輯 該代碼是IQueryable的擴展方法的一部分,我創建了一個動態的Where方法。它採用屬性名稱(filterDataField),一個值和一個比較方法(所有字符串)。
這工作正常,但我希望擴展對DateTime屬性的支持,並且只能使用DateTime字段的Date部分,例如x.Created。 日期。
你的'filterDataField'來自哪裏?它定義了什麼對象類型? – krillgar
filterDataField是一個字符串,它是我想要使用的屬性的名稱。 –
你可以添加更多的代碼嗎?這不是我以前做過的事情,但我相信你可以使用反射來抓住這個屬性。我只需要看看代碼是怎麼做出來的。 – krillgar