К сожалению, версия EF, которую вы используете ( сначала код ), не поддерживает скомпилированные запросы.
Пожалуйста, исправьте меня, если я ошибаюсь.
Некоторые ссылки:
Как предварительно скомпилировать Entity Framework Query-First Query?
EF Code First DbContext и скомпилированные запросы
http://blogs.msdn.com/b/adonet/archive/2011/03/02/ef-4-1-is-coming-dbcontext-api-amp-code-first-rtw.aspx
ОБНОВЛЕНИЕ:
Вот пример для скомпилированных запросов, но я думаю, что он не будет работать с Code First:
public static Shop CompiledGetShopById(Guid shopId)
{
using (DataContext dtx = new DataContext(ConfigProvider.ConnectionString)) {
return Compiled_GetById.Invoke(dtx, shopId);
}
}
private static Func<DataContext, Guid, Shop> Compiled_GetById =
Objects.CompiledQuery.Compile<DataContext, Guid, Shop>(
(DataContext db, Guid shopId) =>
(from item in db.Shops where item.ShopId == shopId)
.FirstOrDefault()
);