当我们使用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往返的连接。是否有可能由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的表中获取数据,其中一个db往返就像我上面的EF linq查询一样。
如果可能,请与示例代码讨论。感谢
答案 0 :(得分:2)
这不支持开箱即用,但是存在一个“future queries”包,可以启用此功能:https://www.nuget.org/packages/Z.EntityFramework.Plus.QueryFuture.EF6/