我正在从给定类型中检索public class ContactMappingProfile : Profile
{
public ContactMappingProfile()
{
// This map works fine
CreateMap<ContactEntity, ContactDto>();
// Map from DTO to Entity
CreateMap<ContactDto, ContactEntity>()
.ForMember(dest => dest.CustomerNumbers,
opt => opt.ResolveUsing(src => src.CustomerNumbers));
}
}
。
当属性类型为propertyInfos
时,我无法将属性类型添加到Nullable<int>
集合,因为我得到了一个例外:
System.NotSupportedException:&#39;&#39; DataSet&#39;不支持 System.Nullable&LT;&GT;&#39;
dataTable.columns
我应该在if子句中更改什么才能使其工作?
我已将foreach (var prop in propertyInfos)
{
if (prop.PropertyType == typeof(int?))
{
dataTable.Columns.Add(prop.Name, prop.PropertyType);
}
else
{
dataTable.Columns.Add(prop.Name, prop.PropertyType);
}
}
或null
添加到收藏中,但这没有帮助?!
答案 0 :(得分:4)
为此目的使用null coalescing operator和Nullable.GetUnderlyingType
方法:
dataTable.Columns.Add(prop.Name, Nullable.GetUnderlyingType(
prop.PropertyType) ?? prop.PropertyType);