0
我有一个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();
第2行的C1列如何将DbNull值保存在cars2 DataTable中?
它**是**坚持...只是尝试,你会看到在cars2的第二行中的“C1”仍然是DBNull.Value – 2009-09-04 13:08:24
顺便说一句,你不需要写'System.Type.GetType (“System.String”)':你可以做'typeof(String)' – 2009-09-04 13:09:12