繁体   English   中英

如何使用一次数据库往返执行两个EF linq查询

[英]How to execute two EF linq query with one db round trip

当我们使用ado.net时,我们可以传递多个用逗号分隔的sql。 这是一个例子。

SqlConnection connection = new SqlConnection();
SqlCommand command = new SqlCommand();
connection.ConnectionString = connectionString; // put your connection string
command.CommandText = @"
     update table
     set somecol = somevalue;
     insert into someTable values(1,'test');";
command.CommandType = CommandType.Text;
command.Connection = connection;

try
{
    connection.Open();
}
finally
{
    command.Dispose();
    connection.Dispose();
}

我想知道如何构造基于EF linq的查询,该查询将从多个表中获取数据,但是两个表之间没有关系。 因此我们无法执行加入。

因此,向我展示一个示例,其中EF无需一次db往返就可以从student和product表中获取数据,而无需任何连接。 按照我上面的示例,ado.net是否有可能做到这一点?

 var query = from data in context.Student
                orderby data.name
                select data;


 var query = from data in context.Product
                orderby data.name
                select data;

当两个以上查询将运行时,将发生两个数据库往返或一个?

我需要一次往返数据库从两个表student和product中获取数据,就像我上面的EF linq查询一样。

如果可能,请与示例代码讨论。 谢谢

开箱即用不支持此功能,但是存在一个启用此功能的“未来查询”包: https : //www.nuget.org/packages/Z.EntityFramework.Plus.QueryFuture.EF6/

暂无
暂无

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

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