2013-05-10 15 views
3

查詢生成器的方法,我想用「Query Builder Methods」我喜歡DbContext如下:使用針對的DbContext

using (var context = new MyDbContext()) 
{ 
    var query = context.MyEntities.Where("Id = @id", new ObjectParameter("id", 1)); 
} 

但它無法解決的Where這個特定的過載。我在這裏錯過了什麼?

回答

3

使用這個解決我的問題:

var objectContext = ((IObjectContextAdapter) context).ObjectContext; 
var query = objectContext.CreateObjectSet<MyEntities>().Where("it.Id = @id", new ObjectParameter("id", 1)); 
+1

它不必是硬:'context.MyEntities.Where(X => x.Id == 1);' – 2013-05-10 03:27:17

+1

我所知道的當然,只是試圖構建動態查詢。 – hattenn 2013-05-10 10:59:01