我有大约4张桌子,我喜欢收集信息,然后在视图中显示。根据我的理解,我需要在Model中创建一个类。在Controller中,我会调用该类。然后我会将该类的实例传递给视图。
我不确定如何以编程方式执行此操作。如果可以提供一些代码作为一个简单的例子。此外,我可能还需要编辑和删除我在视图上显示的记录。
答案 0 :(得分:1)
您是否已启动并运行数据访问层,或者您打算如何从数据库中读取数据并将其发送到MVC应用程序?
您打算使用SQL Server和实体框架吗?
关于如何分层ASP.NET MVC应用程序的一般想法,请参阅我的答案:MVC3 and Entity Framework实际上答案不仅适用于一般架构MVC,而且下面有一些关于如何分割和保持分离的注释各种担忧。
答案 1 :(得分:1)
我们大多数人都在使用像nhibernate或实体框架这样的ORM来处理数据访问。它使所有内容都强类型化(如果映射工作正常;))并加快开发时间。
您应该做的是使用数据访问层获取表,并使用这些表填充包含信息的视图模型。类似的东西:
public ActionResult Details(int id)
{
var user = _nhibernate.Get<User>(id);
var company = _nhibernate.Get<Company>(user.CompanyId);
var model = new DetailsModel{
CompanyName = company.Name,
UserName = user.Name
};
return View(model);
}
应该在WebProject \ Models文件夹中创建DetailsModel。我通常会为每个控制器创建一个子文件夹。
WebProject \模型\ ControllerName
public class DetailsModel
{
public string CompanyName { get; set; }
public string UserName { get; set; }
}