【发布时间】:2023-04-06 03:55:01
【问题描述】:
我正在使用实体框架在 MVC2 中编写应用程序
据我所知,ViewModel 必须只包含数据,而不包含任何数据库逻辑。假设我有 Product 类,它是具有 EntityCollection<ProductToStatus> 的 ADO.NET 实体,而 ProductToStatus 是多对多表。我有ProductModel(在其.ctor 中采用Product),它被传递给View。
public class ProductModel
{
....
public Product Item {get; private set;}
...
public ProductModel(Product item)
{
...
this.Item = item;
...
}
}
在View 中,我需要渲染产品的所有状态,因此我需要在ProductModel 中通过item.ProductToStatus.Select(s=>s.ProductStatus).ToList(); 查询数据库,但这会向数据库发送请求,因此是否违反了MVC原理?
这样可以吗?还是我需要做点什么?
【问题讨论】:
标签: c# asp.net-mvc entity-framework asp.net-mvc-2