コード ファースト エンティティ モデル用に、次のコンパイル済みクエリを作成しました。ただし、これを正しくコンパイルするには助けが必要です。以下は、私のクラスのコードと、この情報について BudgetContext オブジェクトをクエリするために作成したコンパイル済みクエリです。
[DataContract]
public class BudgetSummary : IBudgetSummary, IEntity
{
public int Id{ get()}
public int MDACode{ get; set; }
public DateTime BudgetYear{ get; set; }
public virtual IList<IBudgetItem> budgetitems{ get; set; }
}
public class BudgetContext : DbContext
{
public DbSet<Post> Posts { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<BudgetItem> BudgetItems { get; set; }
public DbSet<BudgetLineItem> BudgetLineItems { get; set; }
public DbSet<IBudgetSummary> BudgetSummaries { get; set; }
public DbSet<MDA> MDAs { get; set; }
}
static readonly Func<BudgetContext, int, IQueryable<BudgetSummary>> FindBudgetSummaryCompiledQuery =
CompiledQuery.Compile<BudgetContext,int, IQueryable<BudgetSummary>>(
(ctx, mdaID) => from budgetsummary in ctx.BudgetSummaries
where budgetsummary.MDACode >= mdaID
select budgetsummary);
ブロック内の戻り値の型の一部がデリゲートの戻り値の型に暗黙的に変換できないため、ラムダ式をデリゲート型 'System.Func>' に変換できません