如何将 null 传递给 linq 中的 int 列
我们如何在 LINQ 中将 null 值赋给 int 列。 例如。
SQLDBDataContext sqlD = new SQLDBDataContext();
var result = from p in sqlD.loadsRadius(Convert.ToInt32(Request["radius"]), .....
这里如果 Request["radius"] 为 null 会出错。
我可以通过这个传递 0,但我需要更改许多现有的程序。
提前致谢。
安尼尔
How do we assign null value to int column in LINQ.
eg.
SQLDBDataContext sqlD = new SQLDBDataContext();
var result = from p in sqlD.loadsRadius(Convert.ToInt32(Request["radius"]), .....
here if Request["radius"] is null gives an error.
I could pass 0 via this but I need to change in many already existing procedures.
Thanks in advance.
Anil
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您需要将 int 设为 null,例如:
You need to case the int to a null, eg:
如果异常是FormatException,我的猜测是Request[“radius”]返回的值实际上是字符串“null”。 如果 Request["radius"] 实际上返回 null,则 Convert.ToInt32() 将返回零。 您可以尝试使用 int.TryParse() 来避免异常。
If the exception is a FormatException, my guess is that the value returned by Request["radius"] is actually the string "null". If Request["radius"] actually returned null, Convert.ToInt32() would return zero. You may try using using int.TryParse() to avoid the exception.
按照 Codechef 的建议..
as suggested by Codechef..
查看可空类型:此处
Look into nullable types: Here.
您可以使用 ?? 运算符如下所示:
如果Request["radius"]等于null,它将返回“0”。
You could use ?? operator like this:
If Request["radius"] equals to null, it will return "0" instead.