2012-12-29 98 views
0

我從數據庫中獲得一個Word,並在ASP.NET MVC3 EntityFramework項目中使用ViewBag打印其「文本」。如果沒有返回結果,則設置爲空EntityFramework

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

但是,如果沒有結果返回,我得到空異常和程序崩潰。如果沒有返回結果,什麼都不打印什麼是最簡單和最好的方法?

解我所知道的:

1 - 環繞聲,如果用的還是的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(); 
+0

你能不能使用if ... else檢查它是否爲空? –

+0

我已經告訴我瞭解它,我問了什麼是最好的,最「美觀」的解決方案。 –

+0

好..我以爲你會指出你不想使用的原因,如果...別的。它有什麼特別的原因嗎? –

回答

1

我建議:

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

這絕對是我要找的。謝謝。 –