C# 每个循环的实体框架一个一个
我在类中有一个方法,它需要将两个表重新映射到dto中,但当我循环遍历表时,它会给我整个表,而不是每个循环一条记录,有没有一种方法可以告诉返回的表给每个循环一个项?并且异步地执行它?当前代码如下所示:C# 每个循环的实体框架一个一个,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我在类中有一个方法,它需要将两个表重新映射到dto中,但当我循环遍历表时,它会给我整个表,而不是每个循环一条记录,有没有一种方法可以告诉返回的表给每个循环一个项?并且异步地执行它?当前代码如下所示: var simpleDtoList = new List<DtoObject>(); using (var db = new SimpleContext()) { await foreach (SimpleA A in db.SimpleATable) {
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;
var simpleDtoList=new List();
使用(var db=new SimpleContext())
{
等待foreach(数据库SimpleATable中的SimpleA A)
{
使用(var database=new SimpleContext())
{
等待foreach(database.SimpleBTable中的SimpleB)
{
var DtoObject=新的DtoObject();
DtoObject.Id=A.Id;
DtoObject.SimpleA=A.名称;
DtoObject.SimpleB=B.名称;
simpleDtoList.Add(DtoObject);
}
}
}
}
回归简单主义;
我已经找到了设置SimpleToList的Where equals索引的解决方案,但我必须删除wait,有没有办法保留wait代码?您需要以下帮助吗
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);
}
需要以下帮助吗
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);
}
我找不到在这里添加异步代码的方法,除非我为每个循环返回整个表,并通过列表的索引进行追加,但请求大小和数量不值得只使用异步代码,正如我在解决方案中所述,它会一个接一个地查找,其中它等于列表索引,如果有人找到我可以放置async Wait的地方,请告诉我。查看c#8中的async+yield——为什么要创建上下文的两个实例?我找不到在这里添加异步代码的方法,除非我为每个循环返回整个表并按列表的索引进行追加,但请求大小和数量不仅值得使用异步代码,目前,正如我在解决方案中所述,它会一个接一个地找到它等于列表索引的位置,如果有人找到我可以放置async Wait的位置,请告诉我。检查c#8中的async+yield——为什么要创建两个上下文实例?