2012-11-07 166 views
4

我遇到了一個問題,在一個搜索中的Where子句,在我的原始版本EF4中我可以添加一個帶有2個參數的Where子句,where子句(字符串謂詞)和一個ObjectParameter列表等作爲實體框架5從4升級

var query = context.entities.Where(WhereClause.ToString(), Params.ToArray()); 

自從我升級到EF5我似乎沒有這個選項我錯過了什麼嗎?

這最初用於構建動態where子句,如「it.entity_id = @entity_id」,然後將變量值保存在ObjectParameter中。

我希望我不必重寫所有已經建成這樣的搜索,所以任何援助將不勝感激。

乾杯

回答

1

爲了使用ESQL用的DbContext,你將不得不「下拉」到ObjectContext的。

var objectContext = ((IObjectContextAdapter)context).ObjectContext; 
var query = objectContext.CreateQuery<MyEntity>(
    WhereClause.ToString(), 
    Params.ToArray()); 
+0

不錯的一個布魯斯 乾杯 – user1714591