我正在尝试从我的数据库中返回五篇最近的文章,这样我就可以将指向它们的链接放在我的索引页面上的一些辅助导航中。根据 Steven Sanderson 在他的书中的建议,我将我的 MVC 项目分为两个子项目 - WebUI,它是 MVC 部分,Domain,它是 EF4/Domain 模型部分。
我有一个基本的存储库来完成繁重的工作,主要是通过为 EF4 提供外观以及处理模型验证等其他任务。我有一个简单的方法可以返回最后五篇文章:
public List<Article> LastFive()
{
return _siteDB.Articles.OrderByDescending(a => a.LastModified).Take(5).ToList();
}
我的问题是我必须在我的索引页面上使用另外两个类似的功能来显示五个最近的评论和网站新闻项目。数据库中没有任何内容,它们返回 ArgumentNullExceptions(这很好)。我想做的是显示一个简单的“没有文章/评论/新闻存在”消息,但由于所有三个都会抛出相同的异常,我不确定如何捕获正确的并显示正确的消息基于引发异常的类别。
我不确定我是否应该为这些情况子类化 Exception,如果我这样做了,我将把它们扔在哪里。或者,如果有办法确定异常的来源,以便我可以正确处理它们。