我有一个问题,显示桌子的小时和出席一些全天活动。此活动允许每天每小时注册与会者。我想知道当天每小时显示与会者人数的最佳方法是什么?问题在于没有与会者签约的小时数。显示这个"空的"最好的方法是什么?行(零值小时)?我找到了解决方案,我可以在一些存储过程中处理这个问题,这些存储过程将映射到一些仅用于显示的实体,但我不太喜欢这种方式。解决这个问题的最佳方法是什么?我正在使用ASP.MVC 3和Entity Framework。
答案 0 :(得分:0)
您的问题源于您将数据库架构视为视图模型。
您应该引入与视图显示内容相对应的模型类。您将能够在控制器的“空”实例中创建这些模型,并将小时数设置为0.这些模型将转换为控制器中的EF实体并保持不变。
通过有效地将数据库架构绑定到视图,您已经限制了选项。 MVC完全是关于视图和数据持久性的分离。
是的,在简单的场景中,您可以将EF实体传递给视图,但在更复杂的实体中(如您遇到的那样),必须进行解耦。