2017-10-04 125 views
0

嘗試以下查詢以在實體框架中從單列中選擇值,但在列A具有空值時拋出異常。實體框架 - 選擇具有空值檢查的單列

string test = dbContext.TABLE.Where(p => p.A== A).Select(x => x.ColumnA).SingleOrDefault().ToString(); 

如果ColumnA爲Null,我想選擇一些默認值或將null指定給字符串測試。

回答

1

如果使用C#6.0或更高版本使用?.操作:

string test = dbContext.TABLE.SingleOrDefault(p => p.A == A)?.ColumnA.ToString(); 

如果之前的C#6.0,您可以:

var columnA = dbContext.TABLE.Where(p => p.A == A).Select(x => x.ColumnA).SingleOrDefault(); 
string test = columnA == null ? null : columnA.ToString(); 
+0

@PradeepHegde - 剛剛更新的這種情況下:) –

+0

謝謝。有效。感覺這個例外是因爲我在null檢查之前嘗試了toString()。 –

+0

@PradeepHegde - 完全 - 'null'上的'ToString()'導致一個異常:) –