2012-07-09 30 views
0

我为我的代码优先实体模型编写了以下编译查询。不过,我需要帮助才能正确编译。下面是我的课,我写查询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); 

无法转换lambda表达式的委托类型“System.Func>”,因为某些返回类型的该块不隐式转换为委托返回类型

+0

不知情的猜测:在lambda中突出显示的语法看起来很矛盾('where'没有被突出显示为关键字。)您是否在顶部使用了System.Linq? – jlew 2012-07-09 15:11:25

+0

@jlew语法高亮由SO – 2012-07-09 15:11:58

+0

完成哦,是的。有趣的是,它从''和'选择'正确。 – jlew 2012-07-09 15:12:49

回答

相关问题