簡體   English   中英

Linq to Devart實體框架中的已編譯查詢

[英]Compiled queries in Linq to Devart Entity Framework

對於已編譯查詢,基本上,在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 to Devart Entity FrameWork,無法通過該實體。 cos它僅允許datacontext作為有效參數。

請建議我如何將linq轉換為可編譯查詢的devart實體框架(edml)。

注意:它在“ Devart LinqConnect模型(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);

但由於edml是“ ObjectContext”,lqml是“ DataContext”,所以不在“ Devart Entity Model”中

提前致謝,

實體框架中的CompiledQuery( http://msdn.microsoft.com/zh-cn/library/bb896297.aspx )僅受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。

對於Entity Framework June 2011 CTP,可以避免顯式編譯,因為在EF 2011年6月CTP中實現了自動編譯的LINQ查詢: http : //blogs.msdn.com/b/efdesign/archive/2011/06 /30/auto-compiled-linq-queries-entity-framework-june-2011-ctp.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM