簡體   English   中英

我如何從字符串中創建動態lambda表達式?

[英]How i can make dynamic lambda Expression from string?

我需要在我的方法中使用Lambda Expression

public static class QueryableDynamicExtension
{
    public static IQueryable<T> DynamicEquals<T>(
       this IQueryable<T> query,
       string field,
       object value)
    {
        Expression<Func<T, bool>> expr = ???                   

        return query.Where(expr);
    }
}

在這個方法中,我希望它返回相同

IQueryable<Article> articles = new ModelDataContext().Articles.Where(m => m.CategoryId == 5);
// I want replace by
IQueryable<Article> articles = new ModelDataContext().Articles.DynamicEquals("CategoryId", 5);

在這種情況下我應該如何構建“expr”? 請幫忙。

你可以查看動態LINQ庫, 由Scott Gu在這里發表博客 我之前使用過這個,我已經構建了一個基於規則的產品系統,並使用了存儲在我們數據庫層中的動態表達式來提供額外的表達式來過濾掉產品集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM