2017-10-04 92 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()'导致一个异常:) –