【发布时间】:2018-07-11 18:40:07
【问题描述】:
在我的代码中,我有一个页面,其中包含来自 3 个不同表的信息。为了显示此信息,我进行了 3 个 SQL 选择调用并将它们合并到一个列表中以作为模型传递给我的视图。我可以通过一个 SQL 调用来完成吗?数据之间没有任何联系。
我的代码:
public ActionResult Index()
{
StorePageData PageData = new StorePageData();
return View(PageData);
}
public class StorePageData
{
public List<Table1Data> Table1 { get; set; }
public List<Table2Data> Table2 { get; set; }
public List<Table3Data> Table3 { get; set; }
public StorePageData()
{
Table1 = //loading from Database1
Table2 = //loading from Database2
Table3 = //loading from Database3
}
}
public class Table1Data
{
public int Id { get; set; }
public double Info1 { get; set; }
public string Info2 { get; set; }
}
public class Table2Data
{
public int Id { get; set; }
public List<int> Info1 { get; set; }
public List<int> Info2 { get; set; }
}
public class Table3Data
{
public int Id { get; set; }
public List<string> Info1 { get; set; }
public List<string> Info2 { get; set; }
}
如果有办法在一个 SQL 请求中加载所有 3 个表,它将显着缩短此页面的加载时间。
谢谢。
【问题讨论】:
-
请说明您使用的是哪个 sql 驱动程序/orm!
-
sql server 2008
-
所有 3 个表都没有共同点,所以我不能使用 UNION
-
请向我们展示所有三个表中的数据的样子。每个表中包含样本数据及其类型的几行就足够了。
-
这些表是属于同一个数据库还是属于不同的数据库?
标签: c# asp.net .net sql-server asp.net-mvc