我正在做一个小项目,这是我第一次使用 MVC 4.0 和 Entity Framework 5 + Web API。
我只在模型中引入了 1 个视图 (vw0),我想查询此视图以将其显示在我的网页上。
此视图是其他 2 个视图的 UNION。
SELECT * FROM vw1
UNION ALL
SELECT * FROM Vw2
vw0 带回超过一百万条记录。为了让我测试一下,我尝试这样做:
// GET: /Data/
public ActionResult Index()
{
return View(db.Data_vw_0.ToList().Take(5));
}
但是,每次我尝试去:
*/Data/
我收到以下错误:
OutOfMemoryException 未被用户代码处理
System.Data.Entity.dll 中发生“System.OutOfMemoryException”类型的异常,但未在用户代码中进行处理。
我不确定我在这里错过了什么。我对这整件事都很陌生,所以我需要帮助。
我只是想在网页上显示数据。
如果我使用数据库表,我能够正常显示数据,但由于某种原因,此视图无法正常工作。
如果我直接进入 SQL 并尝试运行它,该视图确实可以工作。
我的问题是,我是否需要添加属于母视图 (vw0) 一部分的两个视图以及它们相关的表,或者我只需将一个视图添加到我的模型 (vw0) 中?
答案是否定的,我不需要添加与视图相关的表。我决定使用实际的表并查询它们,而不是使用视图——它们给我带来了太多问题。