Entity framework 无法访问EF中的记录列表

Entity framework 无法访问EF中的记录列表,entity-framework,Entity Framework,这里是我试图基于一个字段访问数据库中的一些记录时遇到的问题。我使用的字段是类型为GUID的audit\u id 但该行不返回任何数据 var audits = ctx.Audits.Where(x => lstAudits.Contains(x.audit_id)).ToList(); 下面是我的完整代码,使用EF更新数据库中的大量记录 //will select auditId from the List var lstAudits = _ViewModel.Worki

这里是我试图基于一个字段访问数据库中的一些记录时遇到的问题。我使用的字段是类型为GUID的audit\u id

但该行不返回任何数据

var audits = ctx.Audits.Where(x => lstAudits.Contains(x.audit_id)).ToList();
下面是我的完整代码,使用EF更新数据库中的大量记录

//will select auditId from the List
        var lstAudits = _ViewModel.WorkingListAudits.Where(x => x.WorkingList).Select(x=>x.AuditId).ToList();            
        using (var ctx = new AuditEntities())
        {
            var audits = ctx.Audits.Where(x => lstAudits.Contains(x.audit_id)).ToList();
            audits.ForEach(x => x.working_list = false);
            ctx.SaveChanges();
        }
如果是单记录,它将从数据库返回数据

  var lstAudits = _ViewModel.WorkingListAudits.Where(x => x.WorkingList).Select(x => x.AuditId).ToList();
        Guid tempAuditId = lstAudits[0];
        // lstAudits.ForEach(x => x.ToString().ToUpper());
        using (var ctx = new AuditEntities())
        {
            var audits = (from au in ctx.Audits
                          where au.audit_id == tempAuditId
                          select au).ToList();
            //foreach(Audit audit in   audits){

            //}
            audits[0].working_list = false;
            ctx.SaveChanges();
        }
最后我得到的答案是更新后的代码,它运行得很好。我只是在一个临时变量中得到了一些中间结果,它开始按预期工作

  //will select auditId from the List
           var lstAudits = _ViewModel.WorkingListAudits.Where(x => x.WorkingList).Select(x => x.AuditId).ToList();
        using (var ctx = new AuditEntities())
        {
            var tempAudits = ctx.Audits.ToList();
            var audits = tempAudits.Where(x => lstAudits.Contains(x.audit_id)).ToList();
            audits.ForEach(x => x.working_list = false);
            ctx.SaveChanges();
        }

但是
ctx.Audits.ToList()
会返回一些东西,对吗?(只是检查表是否为空,连接字符串是否指向错误的DB)ctx.Audits.ToList()未返回任何数据。连接字符串正常,并且指向正确的DB.ctx.Audits.ToList()返回0条记录。但是数据库中有一些数据对应于列表lstudits中的id。但是如果
ctx.Audits.list()
不返回任何内容,则问题不在
Where
子句中,也不在guid列表中,而是在其他地方。连接字符串确实是最可能的原因。您是否在正确的项目中有连接字符串(常见的错误是将其放在库项目中而不是主可执行项目中)?你能从任何其他表加载任何数据吗?是的,我能从其他表加载数据。如果是单记录,它工作正常,请参阅我更新的帖子。但是如果是多条记录,它工作不正常。我不想得到一个记录,但我想得到所有记录的id的在LST的审计。