C# 错误';Local=函数求值要求所有线程运行';发生在EF 6.0中
我一直在调试下面的代码时遇到问题,这是ATM实体类的扩展C# 错误';Local=函数求值要求所有线程运行';发生在EF 6.0中,c#,entity-framework,linq,C#,Entity Framework,Linq,我一直在调试下面的代码时遇到问题,这是ATM实体类的扩展 public static ATM GetAtmID(this ATM atm) { using (var cntx = new AtmDbContext()) { var atms = cntx.Atms; //Local = function requires all threads to run //this line throws an exception of 'S
public static ATM GetAtmID(this ATM atm)
{
using (var cntx = new AtmDbContext())
{
var atms = cntx.Atms; //Local = function requires all threads to run
//this line throws an exception of 'Sequence contains no elements'
var _atm = atms.Where(a => a.ip == atm.ip && a.isActive == true).AsEnumerable<ATM>().First();
return _atm;
}
}
公共静态ATM GetAtmID(此ATM)
{
使用(var cntx=new AtmDbContext())
{
var atms=cntx.atms;//Local=函数需要运行所有线程
//此行引发“序列不包含元素”的异常
var_atm=atms。其中(a=>a.ip==atm.ip&&a.isActive==true)。a可计算)在我的数据库中,该数据库具有如下所示的记录:
我试图更改选项菜单中调试器的设置,但未解决此问题。如果没有如图2所示突出显示的复选框,默认情况下,将不会计算属性。请参阅调试器属性设置:
我不知道是否有人能帮我解决这个问题
谢谢这种扩展方法到底应该为您做些什么?嘿@Hakeen-a)您可以粘贴atm表中的记录吗。b)提供atm的POCO模型c)显示您的上下文implementation@msd我使用扩展来增强关注点的分离,为我的模型(实体类)创建方法。不确定问题标题与错误的关系…序列不包含任何元素
是在空集上调用时由First
返回的消息。这意味着您的Where子句未找到匹配的记录。您应该使用FirstOrDefault
或更正Where
谓词,使其始终返回urns至少有一条记录。@Chris,sequence不包含元素的错误不是我最初的问题,而是由于var atms=cntx.atms;
throwing Local=函数要求所有线程都作为错误运行而发生的。这一问题已经得到解决。谢谢这个扩展方法到底应该为您做什么?嘿@Hakeen-a)您能粘贴吗请从atm表中记录。b)提供atm的POCO模型c)向我们显示您的上下文implementation@msd我使用扩展来增强关注点的分离,为我的模型(实体类)创建方法。不确定问题标题与错误的关系…序列不包含任何元素
是在空集上调用时由First
返回的消息。这意味着您的Where子句未找到匹配的记录。您应该使用FirstOrDefault
或更正Where
谓词,使其始终返回urns至少有一条记录。@Chris,sequence不包含元素的错误不是我最初的问题,而是由于var atms=cntx.atms;
throwing Local=函数要求所有线程作为错误运行而发生的。此问题已解决。谢谢