Как присвоить значение null столбцу int в LINQ. например.
SQLDBDataContext sqlD = new SQLDBDataContext();
var result = from p in sqlD.loadsRadius(Convert.ToInt32(Request["radius"]), .....
здесь, если Request ["radius"] равен нулю, выдает ошибку.
Я мог бы передать через это 0, но мне нужно изменить многие уже существующие процедуры.
Заранее спасибо. Анил





Если исключением является FormatException, я предполагаю, что значение, возвращаемое Request ["radius"], на самом деле является строкой "null". Если Request ["radius"] действительно вернул ноль, Convert.ToInt32 () вернет ноль. Вы можете попробовать использовать int.TryParse (), чтобы избежать исключения.
как предлагает Codechef ..
int radius = -1;
int.TryParse(Request["radius"],out radius)
if (radius > 0) // you can remove this clause if you don't want this
{
SQLDBDataContext sqlD = new SQLDBDataContext();
var result = from p in sqlD.loadsRadius(radius)
}
Посмотрите на типы, допускающие значение NULL: Здесь.
Вы можете использовать ?? оператор так:
Convert.ToInt32(Request["radius"] ?? "0")
Если Request ["radius"] равен нулю, вместо этого он вернет "0".
Вам нужно указать int на null, например:
var result = from p in sqlD.loadsRadius(string.IsNullOrEmpty(Request["radius"]) ? (int?)null : int.Parse(Request["radius"]);