TPH EF6.0:无法计算表达式的值
本文关键字:计算 表达式 EF6 TPH | 更新日期: 2023-09-27 17:56:40
我有 3 个从抽象基类继承的类:
abstract class PortTaskStep{
public Guid TaskID { get; set; }
[ForeignKey("TaskID")]
public virtual PortChangeTask PortChangeTask { get; set; }
public virtual String CompleteStep() { return string.Empty;}
}
class PortTaskStep_Add:TaskStep{}
class PortTaskStep_Modify:TaskStep{}
class PortTaskStep_Delete:TaskStep{}
public class HncNetScanContext : DbContext
{
public DbSet<PortTaskStep> PortTaskSteps { get; set; }
}
当我尝试从表"端口任务步骤"中获取数据时,查询返回:
cannot calculate the value of the expression
更多细节:
public class PortChangeTask{
public ICollection<PortTaskStep> PortTaskSteps { get; set; }
public Boolean CompleteTask(){
foreach (var portTaskStep in PortTaskSteps)
{
portTaskStep.CompleteStep();
}
}
}
域程序集包含上述由 Web 项目和网站引用的类。当我在网站上调试函数时,一切顺利。但是,当我在 Web 项目中调试相同的函数时,结果为 null。
快照
对于在 Web 项目中测试的另一个场景:如快照所示,我尝试获取"PortTaskSteps"。结果为空。但是,在我取消注释"textQuery"之后,结果是PortTaskStep的列表。
快照
我认为Web配置或Web项目的环境中出了点问题,但是,我无法弄清楚这一点:(
如何解决问题?
谢谢!
也许正确的翻译可能是"无法评估表达式"。如果是这样,那么很可能是Visual Studio的问题。尝试从解决方案中删除所有断点,然后重新插入它们。如果这对您没有帮助,请检查此链接:Visual Studio 2013"无法评估表达式"调试器异常。
如果问题始终出现在检索数据和尝试在调试模式下查看数据时,则可能需要检查配置(可能您错过了映射或此表的重要内容)。