Cun*_*ers 10 asp.net-mvc linq-to-sql
我很难用MVC视图解决以下问题.
我的目标是在单个MVC视图中显示来自多个表的数据.大部分数据来自名为Retailers的表.我还有另一个名为RetailerCategories的表,它存储来自Retailers表的retailerid,以及一个链接到Category表的categoryid.
请注意,RetailerCategories表中的每个retailerid都有多条记录.
在视图中,我想显示零售商列表,并且每个零售商都希望显示适用于他们的类别列表.
实现这一目标的最佳方法是什么?我已经尝试过的一些内容包含在你能帮助解决这个MVC ViewModel问题吗?
然而,这似乎不是正确的方法.
Dar*_*rov 12
您需要一个专门针对此视图需求定制的视图模型.在定义视图模型时,您不应该考虑表格.SQL表在视图中绝对没有意义.根据您需要显示哪些信息并相应地定义视图模型.然后,您可以使用AutoMapper在实际模型和已定义的视图模型之间进行转换.
所以忘记关于表格的所有内容并关注以下句子:
在视图中,我想显示零售商列表,并且每个零售商都希望显示适用于他们的类别列表.
这句话实际上非常好,因为它准确地解释了你的需要.所以,一旦你知道你需要什么,继续进行模型化:
public class CategoryViewModel
{
public string Name { get; set; }
}
public class RetailerViewModel
{
public IEnumerable<CategoryViewModel> Categories { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,您强烈键入您的视图IEnumerable<RetailerViewModel>
.从这里开始,您可以轻松地在视图中执行您想要的操作:
显示零售商列表,每个零售商都有一个相关类别列表.