我有一个 Linq 查询,我正在选择一个字符串,当然字符串可以包含 null!
那么,如果我检测到空值,有没有办法可以在我的 Linq 查询中引发异常?
我可以用一个不允许它为空的属性来装饰我的类吗?
我想将我的 Linq 查询包装在 try catch 中,一旦检测到 null,它就会进入 catch,我可以处理它。
编辑
这是我的 Linq 查询,目前非常简单。我将对其进行扩展,但这显示了基本形状:
var localText = from t in items select new Items { item = t.name }
基本上 item 设置为 t.name,t.name 是一个字符串,所以它可以是空的/null 这是完全合法的,因为它是一个字符串并且字符串可以保存 NULL。
所以如果它返回 NULL 那么我需要抛出一个异常。实际上,能够抛出异常是 NULL 或空的会很方便。
我似乎记得某种可以设置在“不接受 null”等属性之上的属性?
编辑
我想我找到了:http: //msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.requiredattribute.aspx
这不允许 null 或字符串,所以我认为它会引发异常,我已经将它与 MVC 一起使用,但我不确定是否可以将它与标准类一起使用。