繁体   English   中英

每个循环的实体框架一个一个

[英]Entity framework for each loop one per one

我在类中有需要将两个表重新映射到 dto 的方法,但是当我遍历表时,它会为我提供整个表而不是每个循环一个记录,有没有办法告诉返回的表为每个 for 循环提供一个项目? 并异步执行? 当前代码如下所示:

var simpleDtoList = new List<DtoObject>();

using (var db = new SimpleContext())
{
     await foreach (SimpleA A in db.SimpleATable)
     {
         using (var database = new SimpleContext())
         {
             await foreach (SimpleB B in database.SimpleBTable)
             {
                   var DtoObject = new DtoObject();

                   DtoObject.Id = A.Id;
                   DtoObject.SimpleA = A.Name;
                   DtoObject.SimpleB = B.Name;

                   simpleDtoList.Add(DtoObject);
             }
        }
    }
}
return simpleDtoList;

我找到了设置 Where equals index of simpleDtoList 的解决方案,但我必须删除等待,有没有办法保留等待代码?

像下面这样的东西有帮助吗?

await foreach (SimpleB B in (from b in db.Blogs where something == "somthing").ToListAsync()))
{
     var DtoObject = new DtoObject();
     DtoObject.Id = A.Id;
     DtoObject.SimpleA = A.Name;
     DtoObject.SimpleB = B.Name;
     simpleDtoList.Add(DtoObject);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM