我正在使用实体框架在MVC2中编写应用程序从ViewModel访问数据库是否违反了MVC原则?
正如我所知,ViewModel只能包含没有任何数据库逻辑的数据。假设我有Product
这个类,它是当ProductToStatus
是多对多表时有EntityCollection<ProductToStatus>
的ADO.NET实体。我有ProductModel
(在它的.ctor中需要Product
),它传递给View
。
public class ProductModel
{
....
public Product Item {get; private set;}
...
public ProductModel(Product item)
{
...
this.Item = item;
...
}
}
在View
我需要使产品的所有状态,所以要做到这一点,我需要通过item.ProductToStatus.Select(s=>s.ProductStatus).ToList();
在ProductModel
查询数据库,但这发送请求到数据库,因此做它违反了MVC原则?
这是行吗?或者我需要做点什么?