假设我们有一个包含10个select
语句的存储过程,可以将数据绑定到10个下拉列表中:
CREATE PROC GetMasterData
AS
BEGIN
SELECT ID,Value FROM Table1
SELECT ID,Value FROM Table2
SELECT ID,Value FROM Table3
SELECT ID,Value FROM Table4.../* other select statements */
END
要使用SQL
使用LINQ
编写相同的EntityFramework
语句,数据库将连接10次,如:
var t1Data = from t1 in context.Table1 select t1;
var t2Data = from t2 in context.Table2 select t2;
var t3Data = from t3 in context.Table3 select t3;
var t4Data = from t4 in context.Table4 select t4;
etc....
我们可以将上述LINQ
语句组合起来,或者只是以一种连接中获取所有数据的方式执行LINQ
语句吗?
修改
我知道这可以通过EF调用存储过程并将结果绑定到相关的类对象并将它们传递给view
来完成,但我真的想知道这是否可以在不调用的情况下完成存储过程,即通过LINQ语句,无需多次调用数据库。