【问题标题】:"Children could not be evaluated" in EF 6EF 6 中的“无法评估儿童”
【发布时间】:2014-01-27 18:55:20
【问题描述】:

最近,我将一个项目更新为 Entity Framework 6 (VS2013)。但是,当我尝试在调试模式(使用断点)上扩展查询结果时,会出现此消息:“无法评估儿童”

查询,是这样的:

using ( SystemDataContext objDB = new SystemDataContext() )
    var obj = (
        from x in objDB.Functionality
        orderby x.ID
        select new
        {
            ID = x.ID,
        }
    );

发生了什么?

【问题讨论】:

  • 您似乎缺少该代码块中的一些代码。您在哪里引用 linq-to-entities 查询?
  • 只是一个例子。代码是正确的,因为它填充了我页面中的一个控件。
  • 我解决了将 obj 添加到 VS 的 Watch Window、调用 ToList() 方法并单击“Force Evaluation”按钮(在 Watch 本身上)的问题。
  • 我和你有同样的问题,找不到答案

标签: debugging visual-studio-2013 entity-framework-6


【解决方案1】:

我在使用通用存储库模式时遇到了同样的错误,但是在 GetAll() 方法中执行存储库模式期间,我使用了 .Tolist()。然后它工作正常。

    public IEnumerable<T> GetAll()
    {
        return _dbSet.AsEnumerable<T>().ToList();
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多