所以,问题是我有一个拥有超过100,000条记录的数据库。我需要使用MVC 3创建一个网站,它将显示我需要的4个重要字段,类似于excel在使用切片器或数据透视表时的方式,因此我工作的旧计时器将在网站上看到他们习惯使用的相同格式。当前工具是一个excel数据透视表,允许用户根据用户需要查看的详细信息展开或收缩某个区域。
现在,数据透视表有点像这样
区域
+++计划
+++++子活动
+++++++++++项目
如果我的滑块扩展图纸不好**很抱歉**
我使用的数据库和编码系统是MS SQL SERVER 2008 R2和带有MVC 3的ASP.net。所以我需要做的是从区域开始查找包含尚未列出的区域的不同记录in并按降序列出它们。
示例
区域1
区域2
区域3 等...
然后在找到所有不同的区域后,我需要显示每个部分的所有不同的程序,子程序和项目。我是MVC的新手,我现在所知道的就是使用html helper displayFor来显示包含数据库中每条记录的列表。
像这样的东西。
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.AREA)
</td>
我只是对如何处理这个问题感到困惑,我应该使用lambda或SQL语句来缩小结果范围,还是他们获得所需结果的另一种方法。任何有关解决此类问题的方法的建议或教程都可以理解为这个问题的答案。我可以发布任何有用的代码,请问。感谢您的时间和帮助!
写实模式
using System;
using System.Collections.Generic;
namespace DBFirstMVC.Models
{
public partial class realistic
{
public string CAF_ID { get; set; }
public Nullable<int> CC { get; set; }
public string INVESTMENT_AREA { get; set; }
public string MAJOR_PROGRAM { get; set; }
public string DIVISION { get; set; }
public string CLARITY_ID { get; set; }
public string SPA { get; set; }
public string PA { get; set; }
public string PROJECT_NAME_ORIG { get; set; }
public string PROJECT_NAME { get; set; }
public string HIA { get; set; }
public string HMP { get; set; }
public string RESOURCE_MGR { get; set; }
public string RESOURCE_TYPE { get; set; }
public string RESOURCE { get; set; }
public string PRIMARY_VENDOR { get; set; }
public string DESCRIPTION { get; set; }
public Nullable<int> CONFIDENCE_1Q { get; set; }
public Nullable<int> CONFIDENCE_2Q { get; set; }
public Nullable<int> CONFIDENCE_3Q { get; set; }
public Nullable<int> CONFIDENCE_4Q { get; set; }
public Nullable<System.DateTime> ACCOUNTING_PERIOD { get; set; }
public Nullable<decimal> VALUE { get; set; }
public int REALISTIC_PK { get; set; }
}
}
索引视图
@model PagedList.IPagedList<DBFirstMVC.Models.realistic>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
INVESTMENT AREA
</th>
<th></th>
</tr>
@foreach (var item in Model.Distinct()) {
<tr>
<td>
@Model.Select(c => c.INVESTMENT_AREA).Distinct()
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.REALISTIC_PK }) |
@Html.ActionLink("Details", "Details", new { id=item.REALISTIC_PK}) |
@Html.ActionLink("Delete", "Delete", new { id=item.REALISTIC_PK })
</td>
</tr>
}
</table>