然后大概您需要使用将它们提升为不可为空的形式
Nullable.GetUnderlyingType,并可能将一些
null值更改为
DbNull.Value…
将分配更改为:
row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
并且将列添加为:
table.Columns.Add(prop.Name, Nullable.GetUnderlyingType( prop.PropertyType) ?? prop.PropertyType);
而且有效。(
??是null运算符;如果非null,它将使用第一个操作数,否则将评估并使用第二个操作数)



