【发布时间】:2012-11-07 15:39:35
【问题描述】:
请看下面的代码:
public class NewsFilterModel
{
public CtArticleDetail ArticleDetail { get; set; }
public PcPage Page { get; set; }
}
public IEnumerable<NewsFilterModel> GetNewsFilterModelByTagNames(string tagNames, int status)
{
var resultArticle = db.CtArticleDetail.Where(m => m.tagNames == tagNames);
var resultPage = db.PcPage.Where(m => m.tagNames == tagNames);
}
谁能建议将两个模型组合为一个模型的最佳方法是 NewsFilterModel 吗?
我想要实现的是:
NewsFilterModelList
1.Article1
2.Page1
3.Article2
4.Page2
5.Article3
6.Page3
我已经像下面这样结束了:
foreach (var item in pageResult)
{
resultList.Add(new NewsFilterModel { ArticleDetail = null, Page = item, Date = item.UpdatedOn.ToDateTime() });
}
foreach (var item in tempArticleList)
{
resultList.Add(new NewsFilterModel { ArticleDetail = item, Page = null, Date = item.LiveDate.ToDateTime() });
}
return resultList.AsEnumerable();
谁有更好的主意,请指教。
【问题讨论】:
-
你怎么知道哪个
CtArticleDetail和哪个PcPage搭配? -
PcPage 和 CtArticleDetail 之间没有关系。所以我想我不需要知道。
-
那么,给定一个可枚举的
CCArticleDetail和PcPage,这些可枚举是否应该具有1:1 的比例并为每组制作一个模型?当集合中的项目数量不相等时会发生什么?我不确定你想在这里实现什么。 -
我正在尝试生成一个包含 ctArticle 和 pcpage 的列表页面。
标签: c# asp.net-mvc-3 linq entity-framework lambda