Asp.net mvc 3 在mvc-mvvm中使用实体模式

Asp.net mvc 3 在mvc-mvvm中使用实体模式,asp.net-mvc-3,Asp.net Mvc 3,你好,我希望有人能给我指出正确的方向 我想创建一个mvc应用程序,我已经完成了音乐商店的示例,但仍然不能100%确定正确的方法 假设我想创建一个存储烹饪容器的应用程序。 我有三张桌子 可接收 往复 RecipeName 接受要素 收款凭证 往复 英格里丁 测量 IngCreditTable 英格里丁 IngCreditName 所有的PK和FK映射都非常基本,我创建了一个新的mvc应用程序,并使用实体框架创建了一个新实体,例如RecipeDB 我的下一步是为每个表创建一个新模型,并为属性指定所需

你好,我希望有人能给我指出正确的方向

我想创建一个mvc应用程序,我已经完成了音乐商店的示例,但仍然不能100%确定正确的方法

假设我想创建一个存储烹饪容器的应用程序。 我有三张桌子

可接收 往复 RecipeName

接受要素 收款凭证 往复 英格里丁 测量

IngCreditTable 英格里丁 IngCreditName

所有的PK和FK映射都非常基本,我创建了一个新的mvc应用程序,并使用实体框架创建了一个新实体,例如RecipeDB

我的下一步是为每个表创建一个新模型,并为属性指定所需的显示名,并指定所需的额外字段

然后我是否创建了一个视图模型,例如Recipes viewmodel,它看起来像

public class RecipesViewModel
{
    public int RecipeID { get; set; }
    public string RecipeName { get; set; }
    public List<RecipeIngredients> { get; set; }

}
公共类视图模型
{
public int RecipeID{get;set;}
公共字符串RecipeName{get;set;}
公共列表{get;set;}
}
我现在创建了控制器(Ithink),但我不确定如何将其绑定到数据库实体

我知道您可以通过执行RecipeEntities db=new RecipeEntities()之类的操作来调用数据库;然而,将结果绑定到vm上,我对如何做到这一点并不感到困惑

到目前为止,我的方向正确吗?

你可以使用。这是一个很好的工具,允许您从一种类型转换为另一种类型,在您的情况下,还可以从模型转换为视图模型

public ActionResult Foo()
{
    RecipeDB model = _repository.GetRecipies();
    RecipesViewModel viewModel = Mapper.Map<RecipeDB, RecipesViewModel>(model);
    return View(viewModel);
}

你好,达林:)什么是存储库?只是一个私有RecipeDB存储库=新RecipeDB()?@Diver Dan,它是一个传递给控制器构造函数的接口。此接口包含对模型的操作。
[AutoMap(typeof(RecipeDB), typeof(RecipesViewModel))]
public ActionResult Foo()
{
    RecipeDB model = _repository.GetRecipies();
    return View(model);
}