Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 每个查询从数据库接收多个实体_C#_Asp.net Core - Fatal编程技术网

C# 每个查询从数据库接收多个实体

C# 每个查询从数据库接收多个实体,c#,asp.net-core,C#,Asp.net Core,对于EF Core,我有一组值,例如,我的db的某个表中有实体ID,我希望接收多个适合这些ID的实体 它可以是这样的: List<string> IDs { get; set; } ... var listofEntities = new List<Foo>(); foreach(var id in IDs) { var result = context.Foos.Where(f => f.ID == id).Single(); listofEntities.Add

对于EF Core,我有一组值,例如,我的db的某个表中有实体ID,我希望接收多个适合这些ID的实体

它可以是这样的:

List<string> IDs { get; set; }
...
var listofEntities = new List<Foo>();
foreach(var id in IDs)
{
var result = context.Foos.Where(f => f.ID == id).Single();
listofEntities.Add(result);
}
List id{get;set;}
...
var listofEntities=新列表();
foreach(id中的变量id)
{
var result=context.Foos.Where(f=>f.ID==ID.Single();
实体列表。添加(结果);
}

然而,我认为这是一个非常缓慢的过程。我可以在DB的每个查询中获得所有需要的实体吗?

只需使用
包含

List<string> IDs { get; set; }
...
var listofEntities = context.Foos.Where(f => IDs.Contains(f.ID));
List id{get;set;}
...
var listofenties=context.Foos.Where(f=>IDs.Contains(f.ID));

只需使用
包含的内容

List<string> IDs { get; set; }
...
var listofEntities = context.Foos.Where(f => IDs.Contains(f.ID));
List id{get;set;}
...
var listofenties=context.Foos.Where(f=>IDs.Contains(f.ID));
您可以使用连接

var query = from foo in context.Foos
    join id in IDs on id equals foo.ID
    select foo;

return await query.ToListAsync();
您可以使用连接

var query = from foo in context.Foos
    join id in IDs on id equals foo.ID
    select foo;

return await query.ToListAsync();