【发布时间】:2015-05-11 15:24:58
【问题描述】:
我使用 .NET 开发了一个更高级的 MVC 应用程序。我有四层。 UI 层、ServiceLayer、业务层和 DAL。 (我将 EF5 用于 DAL)
我为我的实体添加了一个项目。我的项目结构是这样的。
MyProject.DAL
MyProject.Interfaces
MyProject.Entities
MyProject.MvcWebUI
MyProject.BLL
我想知道,我有时需要强类型类模型来返回方法。但它不是必须存储在数据库中。很快它就不是实体了。
例如,我有 Product 实体。但我需要一个模型来存储产品的状态和计数。应该怎么定位?
public enum ProdReviewResult
{
Accepted = 1,
Declined = 2,
Banned = 4
}
//MyProject.DAL
//I need here return to strongly typed model
public List<object> GetProdReviewStatusByProdGroup(int userId, int prodGroupId)
{
var query = from p in _db.Products
join pg in _db.ProdGroups on p.ProdGroupId equals pg.ProdGroupId
where pg.UserId == userId && p.UserId == userId
group p by p
into g
select new {ProdViewResult = g.Key, ProdCount = g.Count()};
var reviewStatus = new List<object>();
foreach (var result in query)
{
reviewStatus.Add(new {result.ProdViewResult, result.ProdCount});
}
return reviewStatus;
}
//This class model for products to group by ProdReviewStatus.
//How should i locate in my project.
public ProdReviewCount()
{
public ProdReviewStatus ProdReviewStatus{get;set;}
public int Count{get;set;}
}
【问题讨论】:
标签: c# asp.net-mvc entity-framework n-tier-architecture