Скомпилированные запросы в Linq to Devart Entity Framework - PullRequest
1 голос
/ 09 января 2012

Для скомпилированных запросов, в LINQ to Object Entity FrameWork, в основном, позволяет компилировать запросы за один раз, а затем его можно использовать повторно без компиляции в другой раз.

Например:

using System.Data.Objects;
public static Func<entity, string, IQueryable<Entity>>
    TestQuery = CompiledQuery.Compile((entity db, string param) =>
        from e in ctx.Entities where e.Field == param select e);

Мой вопрос касается LINQ для Devart Entity FrameWork, который не может передать объект.потому что он допускает только datacontext в качестве допустимого параметра.

Пожалуйста, предложите мне, как преобразовать каркас сущности linq в devart (edml) для скомпилированных запросов.

ПРИМЕЧАНИЕ: он отлично работает в "Devart LinqConnect"Model (lqml) "Например:

 public static Func<MyContext.dataContext , long,
             IQueryable<EMyContext.dataContext.tableName>>
           shopByCountry = CompiledQuery.Compile((MyContext.dataContext db,     long idCountry) =>
             from a in db.Countries where a.idCountry == idCountryselect a);

, но не в" Devart Entity Model ", поскольку edml - это" ObjectContext ", lqml - это" DataContext "

Заранее спасибо,

1 Ответ

1 голос
/ 11 января 2012

CompiledQuery (http://msdn.microsoft.com/en-us/library/bb896297.aspx) в Entity Framework поддерживается только для ObjectContext.Для DbContext такой поддержки нет (EF v4.1 / EF v4.2): http://blogs.msdn.com/b/adonet/archive/2011/03/02/ef-4-1-is-coming-dbcontext-api-amp-code-first-rtw.aspx.Вероятно, вы работаете с DbContext.

В случае CTP Entity Framework, июнь 2011 г., можно избежать явной компиляции, поскольку автоматически скомпилированные запросы LINQ реализованы в EF, июнь 2011 г. CTP: * 1008.*.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...