C# 如何将多个不同的DB对象传递到不同表中的同一视图
对于一个学校项目,我正在使用实体框架在ASP.net核心中制作一个应用程序。对于这个应用程序,我必须对使用SQL完成的订单执行5种不同的检查,符合SQL标准的订单必须放在一个表中。结果必须放在与触发检查对应的不同表中的同一视图上 Im使用2个模型:警报和订单,我加入了警报和订单,因此我可以获得与警报匹配的OrderID(检查) 我的应用程序由包含以下方法的eForepository组成:C# 如何将多个不同的DB对象传递到不同表中的同一视图,c#,asp.net,asp.net-mvc,visual-studio,entity-framework,C#,Asp.net,Asp.net Mvc,Visual Studio,Entity Framework,对于一个学校项目,我正在使用实体框架在ASP.net核心中制作一个应用程序。对于这个应用程序,我必须对使用SQL完成的订单执行5种不同的检查,符合SQL标准的订单必须放在一个表中。结果必须放在与触发检查对应的不同表中的同一视图上 Im使用2个模型:警报和订单,我加入了警报和订单,因此我可以获得与警报匹配的OrderID(检查) 我的应用程序由包含以下方法的eForepository组成: public IEnumerable<Alerts> GetAlertsByCheck(int
public IEnumerable<Alerts> GetAlertsByCheck(int checkNumber)
{
IEnumerable<Alerts> temp = null;
switch (checkNumber)
{
case 1:
temp = DB.Alerts.Where(e => e.Controle.Equals(CHECK_ONE));
break;
case 2:
temp = DB.Alerts.Where(e => e.Controle.Equals(CHECK_TWO));
break;
case 3:
temp = DB.Alerts.Where(e => e.Controle.Equals(CHECK_THREE));
break;
case 4:
temp = DB.Alerts.Where(e => e.Controle.Equals(CHECK_FOUR));
break;
case 5:
temp = DB.Alerts.Where(e => e.Controle.Equals(CHECK_FIVE));
break;
}
return temp;
}
现在我的问题是,我不知道如何将其他检查传递给视图,并将它们放在它们自己的表中
为了更好地说明我的问题,视图中的表如下所示:
+---------+------------------------+
| OrderID | Check |
+---------+------------------------+
| 1 | Invalid payment method |
| 2 | Invalid payment method |
+---------+------------------------+
+---------+------------------------+
| OrderID | Check |
+---------+------------------------+
| 3 | Payment aborted |
| 4 | Payment aborted |
+---------+------------------------+
任何帮助都将不胜感激!提前感谢:)创建一个viewmodel类,并将其传递给由两个表填充的视图
public class OrdersViewModel
{
public IEnumerable<Orders> CheckOneOrders { get;set; }
public IEnumerable<Orders> CheckTwoOrders { get; set; }
}
公共类OrdersViewModel
{
公共IEnumerable CheckOneOrders{get;set;}
公共IEnumerable CheckTwoOrders{get;set;}
}
然后根据需要在视图中访问每个表
@model OrdersViewModel
您需要编写代码来实例化和填充视图模型上的2个属性。非常感谢,感谢您的回答:)
public ViewResult ResolvedIssuesOverview(int id2=2)
{
return View(AlertsRepository.GetOrdersByAlert(AlertsRepository.GetSolvedAlertsByCheck(id2)));
}
+---------+------------------------+
| OrderID | Check |
+---------+------------------------+
| 1 | Invalid payment method |
| 2 | Invalid payment method |
+---------+------------------------+
+---------+------------------------+
| OrderID | Check |
+---------+------------------------+
| 3 | Payment aborted |
| 4 | Payment aborted |
+---------+------------------------+
public class OrdersViewModel
{
public IEnumerable<Orders> CheckOneOrders { get;set; }
public IEnumerable<Orders> CheckTwoOrders { get; set; }
}