ASP.NET MVC:从模型中更新模型?

时间:2011-02-25 14:53:29

标签: asp.net-mvc entity-framework asp.net-mvc-3

在控制器中,我执行以下操作:

DBContext DB = new DBContext();
var u = DB.Users.Find(1);
u.firstname = "blah";
UpdateModel(u);
DB.SaveChanges();

我想在模特中做同样的事情......

namespace Project.Models
{
  public class User
  {
    public void resetPassword()
    {
      // Generate new password, etc.
      this.password = "blah";
    }
  }
}

知道我是怎么做的吗?似乎UpdateModel()只能从控制器中获得。

我正在使用EntityFramework Code-First CTP5。

2 个答案:

答案 0 :(得分:1)

我认为UpTheCreek是正确的,但可能需要一些解释,所以我会尝试扩展他/她的答案。第一步是使用repository pattern。您可以通过谷歌搜索在MVC中找到这种模式的许多示例 - this是一个特别温和的介绍(大约在页面下方的3/4)。

演练继续提到依赖注入,这也是值得关注的东西。我倾向于自己支持Ninject,但是有other依赖注入容器可用。

答案 1 :(得分:0)

在您的模型中放置数据访问问题不是一个好主意。

更新:是的,您通常会有一个数据访问层。正如Andy所说,目前最流行的方法是使用存储库。通常,您不希望模型中的任何内容不是核心业务逻辑。