我使用實體框架和Im試圖使這樣一個查詢泛型,因此它可以用於任何實體類型(假設每個實體具有屬性int Id
)。實體框架使編譯查詢通用
我想這樣的事情,但沒有收集ctx.TEntity或類似的東西:
public class Queries<TEntity> where TEntity : AbstractEntity
{
public Func<AdventureWorksEntities, int, TEntity> getQuery() {
return
CompiledQuery.Compile<AdventureWorksEntities, int, Entity>(
(ctx, num) => ctx.TEntity.First(x => x.Id>num));
}
}
AbstractEnitity:
public abstract class AbstractEntity {
[Key]
public int Id {get; set};
}
感謝您的想法:)
實體框架的版本是什麼?你使用ObjectContext還是DbSet? –
我使用EF6代碼優先 - 我可以訪問ObjectContext和DbContext。 DbSet我在我的DbContext類中定義了屬性。 –
我試着用DbContext編譯查詢,但沒有成功(它不被支持,解決方法也不適合我)。你有沒有想過這個鏈接:http://blogs.msdn.com/b/efdesign/archive/2011/06/30/auto-compiled-linq-queries-entity-framework-june-2011-ctp.aspx? –