Include()显示1个实体的错误,但不显示另一个实体的错误

时间:2014-07-23 08:47:44

标签: entity-framework

.Include in Below不适用于一个实体,但适用于另一个实体。

    public Category GetCategory(int CategoryID)
    {
        return DataSource.Categories
            .Include(c => c.TransCategories)
            .FirstOrDefault(c => c.CategoryID == CategoryID);
    }

错误是

  

无法将lambda表达式转换为'string'类型,因为它不是委托类型

虽然它适用于其他实体。

    public Question Get(long QuestionID)
    {
        return DataSource.Questions
            .Include(q => q.TransQuestions)
            .Include(q => q.SubCategories)
            .FirstOrDefault(q => q.QuestionID == QuestionID);
    }

2 个答案:

答案 0 :(得分:3)

您必须将使用System.Data.Entity添加到第一个文件中。

.Include()有一个扩展方法,它接受您可以在System.Data.Entity命名空间中找到的lambda表达式。

请参阅MSDN

答案 1 :(得分:0)

假设这两个方法在不同的文件中,它可能就像缺少引用一样简单。浏览using语句并检查所有与之相关的扩展方法。