2014-01-16 66 views
0

我在我的MVC應用程序中有一個模型,'名稱'。我有一個方法getdesig()來簡單地返回所有的指定。我最初在我的控制器中有這個,但最近搬到了我的模型中,目的是讓我的控制器變得更加輕薄。這個模型是否是放置這種方法的合理地點?MVC模型中的方法

public class designation 
{ 
    [Key] 
    public int DesignationID { get; set; } 
    public string DesignationName { get; set; } 

    public virtual ICollection<user> users { get; set; } 


    private ClaimContext db = new ClaimContext(); 
    public List<designation> getdesig() 
    { 

     { 
      return (from c in db.designations 
        select c).ToList(); 
     } 
    } 

} 
+0

我們只使用我們的模型來定義視圖所需的字段。我們將所有數據庫調用放入一個服務類,我們從控制器 –

+0

調用這實際上是一個模型,而不是視圖模型。所以你在說什麼都不應該包含分貝調用 – mattbloke

+0

這是我會建議 –

回答

1

肯定的,但是在條件存在的控制器更復雜的情況是現貨決定「是什麼」需要加載或「多少」需要加載基於關場景/參數。在這個非常簡單的例子中,你可以拋棄所有的數據而不考慮任何上下文。

保持ViewModel儘可能簡單且特定於視圖是一種很好的做法,ViewModel的工作僅僅是作爲驅動視圖的通用存儲。該視圖依賴於使用適當數據設置的模型,控制器的工作是確定上下文以及模型中應填充的內容。