0

データベースからWordを取得し、ASP.NETMVC3EntityFrameworkプロジェクトで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 に答える