[英]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.