【问题标题】:asp.net mvc5 , raw sql : Display data in Views generated using aggregate functionasp.net mvc5 , raw sql : 在使用聚合函数生成的视图中显示数据
【发布时间】:2017-10-05 00:56:53
【问题描述】:

我正在使用 ASP.NET MVC、EF 和 SQL Server 2014。

我想生成一个视图,该视图将显示具有员工 ID 的员工的总病假和年假。我发现一个 LINQ 查询非常复杂,我不知道如何在 Asp.net MVC 中使用它。我为此编写了一个控制器,但现在我不知道如何在视图中显示这些数据。

请帮我解决这个问题。如果有更好的方法或者我犯了错误,请告诉我。

SQL 查询如下:

SELECT 
    [EmployeeId], SUM(AssignedLeaveDay) AS Total_Annual_Leave    
FROM 
    AssignLeaves 
WHERE
    [EmployeeId] = 1 AND LeaveTypeId = 4
GROUP BY 
    [EmployeeId]

SELECT 
    [EmployeeId], SUM(AssignedLeaveDay) AS Total_Sick_Leave    
FROM 
    AssignLeaves 
WHERE
   [EmployeeId] = 1 AND LeaveTypeId = 5
GROUP BY 
   [EmployeeId]

enter image description here

【问题讨论】:

  • 您可以使用视图模型属性ExecuteReaderDataTable 在视图中显示结果,您可以显示视图代码和控制器操作示例吗?
  • 我只想在视图中显示这两条记录,这就是我想知道如何使用聚合函数和 EF ASP.Net EntityFramework 从数据库中检索数据并将其显示在视图中
  • 你想在视图中显示这个查询结果吗?
  • 是的,我想在视图中显示此代码

标签: sql-server asp.net-mvc linq


【解决方案1】:

//控制器端
var Data = 来自 AssignLeaves.Where(s => s.EmployeeId == 1 && s.LeaveTypeId == 4)中的数据
按 data.EmployeeId 将数据分组到 g
选择新的
{
EmployeeId = g.Key,
Total_Annual_Leave = g.Sum(x => x.AssignedLeaveDay)
};

var SickLeaveData = 来自 AssignLeaves.Where(s => s.EmployeeId == 1 && s.LeaveTypeId == 5)中的数据
按 data.EmployeeId 将数据分组到 g
选择新的
{
EmployeeId = g.Key,
Total_Sick_Leave = g.Sum(x => x.AssignedLeaveDay)
};

您通过以下方式获得总年假:Data.FirstOrDefault().Total_Annual_Leave ;
您通过以下方式获得 Total_Sick_Leave: SickLeaveData.FirstOrDefault().Total_Sick_Leave;

【讨论】:

  • 感谢您的回复,但我需要完成 asp.net mvc cod 我的意思是如何在 publick Actionresult index () 中编码我应该将哪个模型或视图模型传递给索引视图
猜你喜欢
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 2017-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-15
  • 1970-01-01
相关资源
最近更新 更多