Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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#_Entity Framework_Entity Framework Core - Fatal编程技术网

C# 如何使用一个实体框架调用加载多个结果集?

C# 如何使用一个实体框架调用加载多个结果集?,c#,entity-framework,entity-framework-core,C#,Entity Framework,Entity Framework Core,在学习实体框架6时,我遇到了一个障碍,不确定如何处理这种情况。在制作API时,用户可能需要一个需要访问多个表的特定端点(伪实体,因为它没有真正的表关联)。下面是一些假的数据库集和一个随机类 我正在寻找一种方法,将所有这些表数据(带有Where子句)都包含在一个查询中。我分别打了3个电话,但我不认为这是最好的方式 var anonObject = new AnonClass() { SometItems = await Context.Table1.Where(t => t.Som

在学习实体框架6时,我遇到了一个障碍,不确定如何处理这种情况。在制作API时,用户可能需要一个需要访问多个表的特定端点(伪实体,因为它没有真正的表关联)。下面是一些假的数据库集和一个随机类

我正在寻找一种方法,将所有这些表数据(带有Where子句)都包含在一个查询中。我分别打了3个电话,但我不认为这是最好的方式

var anonObject = new AnonClass() 
{
    SometItems = await Context.Table1.Where(t => t.Something == true).ToListAsync();
    SometItems2 = await Context.Table2.Where(t => t.Something == true).ToListAsync();
    SometItems3 = await Context.Table3.Where(t => t.Something == true).ToListAsync();
};

DbSet<Table1> Table1;
DbSet<Table2> Table2;
DbSet<Table3> Table3;

public sealed AnonClass
{
    public IEnumerable<Table1> SomeItems;
    public IEnumerable<Table2> SomeItems2;
    public IEnumerable<Table3> SomeItems3;
}
var anonObject=newanonclass()
{
SometItems=wait Context.Table1.Where(t=>t.Something==true.toListSync();
SometItems2=wait Context.Table2.Where(t=>t.Something==true.toListSync();
SometItems3=wait Context.Table3.Where(t=>t.Something==true.toListSync();
};
DbSet表1;
DbSet表2;
DbSet表3;
公众密封的安全套
{
公共数字项目;
公共IEnumerable someitems 2;
公共IEnumerable SomeItems3;
}

每一个都是单独的电话,我希望它们都在一个电话里。

我认为这是不可能的。我的意思是,如果不能
UNION
它们,你怎么能用一个SQL查询得到三个独立的结果集呢?@Brian在实体框架领域,这将是一个可怕/危险的想法。DbContext不是线程安全的。@Brian我认为您没有意识到它是如何工作的。上述代码中只有一个DbContext。您需要注入3种不同的上下文才能使您的想法发挥作用。@KennethBean该问题从未得到确认,已经解决,并且适用于旧版本的core。它也与DbContext是暂时的没有任何关系。@KennethBean不,我们说您的代码是可以的,并且没有办法用一个db调用(在EF核心中)来完成。忘掉它,继续前进。我认为那是不可能的。我的意思是,如果不能
UNION
它们,你怎么能用一个SQL查询得到三个独立的结果集呢?@Brian在实体框架领域,这将是一个可怕/危险的想法。DbContext不是线程安全的。@Brian我认为您没有意识到它是如何工作的。上述代码中只有一个DbContext。您需要注入3种不同的上下文才能使您的想法发挥作用。@KennethBean该问题从未得到确认,已经解决,并且适用于旧版本的core。它也与DbContext是暂时的没有任何关系。@KennethBean不,我们说您的代码是可以的,并且没有办法用一个db调用(在EF核心中)来完成。忘掉它,继续前进。