2014-01-16 48 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的工作仅仅是作为驱动视图的通用存储。该视图依赖于使用适当数据设置的模型,控制器的工作是确定上下文以及模型中应填充的内容。