0

我从数据库中得到一个 Word 并在我的 ASP.NET MVC3 EntityFramework 项目中使用 ViewBag 打印出它的“文本”。

ViewBag.ManagementSystems = db.Words.Where(w => w.WordBaseID == 1 && w.LanguageID == lang).FirstOrDefault().Text;

但是,如果没有返回任何结果,则会出现 null 异常并且程序崩溃。如果没有返回任何结果,那么什么都不打印的最简单和最好的方法是什么?

我知道的解决方案:

1- 用 if 或 try-catch 块包围

2-使用

var query = "SELECT Text FROM Words WHERE WordBaseID = {0} AND LanguageID = {1}";
ViewBag.ManagementSystems= db.Database.SqlQuery<string>(query, 1, lang).FirstOrDefault();
4

1 回答 1

1

我提议:

ViewBag.ManagementSystems = db.Words.Where(w => w.WordBaseID == 1 && w.LanguageID == lang)
                                    .Select(x => x.Text).FirstOrDefault();
于 2012-12-29T15:58:19.393 回答