У меня есть DataTable, который содержит столбцы, которые будут содержать значения DbNull. Я хочу использовать Linq и выводить новый DataTable, но я хочу, чтобы значения DbNull сохранялись. Ниже приведен пример:Linq с DbNull значениями
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("C1",System.Type.GetType("System.String")));
dt.Columns.Add(new DataColumn("C2",System.Type.GetType("System.String")));
DataRow row;
row = dt.NewRow();
row["C1"] = "Hello";
row["C2"] = "World";
dt.Rows.Add(row);
row = dt.NewRow();
row["C1"] = DBNull.Value;
row["C2"] = "World";
dt.Rows.Add(row);
var cars1 = from car in dt.AsEnumerable()
where car.Field<String>("C2") == "World"
select car;
DataTable cars2 = cars1.CopyToDataTable();
Как столбец С1 второго ряда имеют значение DBNull быть perserved в cars2 DataTable?
Это ** ** сохраняется ... просто попробуйте, вы увидите, что «C1» во втором ряду автомобилей2 все еще DBNull.Value –
Кстати, вам не нужно писать 'System.Type.GetType («System.String») ': вы можете просто сделать' typeof (String) ' –