无法访问EF中的记录列表

时间:2014-03-10 19:25:43

标签: entity-framework

以下是我尝试从基于一个字段的数据库中访问某些记录的问题。我正在使用的字段是audit_id,其类型为GUID。

但该行不返回任何数据

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();
        }

0 个答案:

没有答案