我有一個PredicateBuilder這我是從 http://www.albahari.com/nutshell/predicatebuilder.aspx爲什麼EntityFramework不使用我的謂詞?
這裏是我如何使用它:
var Expression = PredicateBuilder.True<UCM_UserAgent>();
Expression = Expression.And(item => item.AgentText == "TestUserAgent Value");
Func<UCM_UserAgent, bool> SearchCriteria = Expression.Compile();
var Data = Context.UCM_UserAgent
.Where(SearchCriteria)
.ToList();
當我在我的數據庫檢查SQL事件探查器:
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[AgentText] AS [AgentText],
FROM [dbo].[UCM_UserAgent] AS [Extent1]
現在,我添加的條件在哪裏?我無法解決這個問題。不幸的是,Entity Framework and Predicate Builder - Predicates being Ignored in SQL Query也沒有幫助。
編輯: 消除任何誤解;我不想用x => x.AgentText =「SomeText」。因爲我想構建一個動態的LINQ查詢,因此我使用PredicateBuilder。