2012-06-25 19 views
0

我有問題顯示與小時和出席一些全天事件的表。此活動允許爲每天的每個小時註冊參加者。我想知道顯示當天每個小時的與會人數的最佳方法是什麼?問題在於沒有與會者簽名的小時。顯示這個「空行」(零值小時)的最佳方法是什麼?我來解決問題,我可以在一些存儲過程中處理這些問題,這些存儲過程將映射到僅用於顯示的實體,但我不太喜歡這種方式。這個問題最好的辦法是什麼?我正在使用ASP.MVC 3與實體框架。顯示ASP.MVC 3與EF的空行的最佳方法

回答

0

您的問題源於您將數據庫架構視爲視圖模型的事實。

您應該引入與視圖顯示內容相對應的模型類。您將能夠在控制器的這些模型的「空」實例中創建,並將小時數設置爲0.這些模型將被轉換爲控制器中的EF實體並持續存在。

通過將您的數據庫模式有效綁定到您已限制您的選項的視圖。 MVC完全是關於視圖和數據持久性的解耦。

是的,在簡單場景中,您可以將EF實體傳遞給視圖,但在更復雜的場景(如遇到的視圖)中,解耦是必需的。

+0

是的,我知道,綁定數據庫直接查看並不是最好的主意。我的想法是創建一個程序,將輸出綁定到某個EF entinty上,這將被某個控制器綁定。 Hovewer我不太喜歡這個想法(EF中的實體只用於顯示數據),所以我問,如果有其他更好的解決方案。 – user1431544

+0

答案是創建一個新的模型類,它不是EF實體。 –

+0

你的意思是有一些viewmodel類的X對象的集合(數量取決於事件的打開時間)?對不起,但我仍然很難習慣MVC :) – user1431544