我在运行时在DTO对象上有一个null错误:
我不明白,因为列可以为空:
[DataContract] public class SearchParametersCompanyDTO { public SearchParametersCompanyDTO(); [DataMember] public CompanyColumnsEnumDTO? Column { get; set; } [DataMember] public int PageIndex { get; set; } [DataMember] public int PageSize { get; set; } [DataMember] public string Term { get; set; } } [DataContract] public enum CompanyColumnsEnumDTO { [EnumMember] CompanyName = 0,[EnumMember] City = 1,[EnumMember] PostCode = 2,}
它必须是转换问题,因为在Column上接受null:
var dto = new SearchParametersCompanyDTO { PageIndex = pageIndex,PageSize = defaultPageSize,Term = term,Column = null };
任何的想法?
解决方法
您正在尝试将空值转换为枚举类型(而不是可以为空的枚举类型).我猜你真的想把你的演员变成:
Column = (CompanyColumnsEnumDTO?) column