2012-07-09 38 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

回答

相關問題