我正在努力解决这个问题。我用过
AutoMapper
用户定义的FieldViewModel
):
public class UserDefinedFieldViewModel
{
public string Id { get; set; }
public UsedFor UsedFor { get; set; }
public UserDefinedFieldDataType DataType { get; set; }
public DataTypeDisplay
{
get
{
switch (DataType)
{
case UserDefinedFieldDataType.ShortText:
return "Short Text";
case UserDefinedFieldDataType.LongText:
return "Long Text";
case UserDefinedFieldDataType.Date:
return "Date";
case UserDefinedFieldDataType.Number:
return "Number";
case UserDefinedFieldDataType.Boolean:
return "True/False";
default:
return "Unknown";
}
}
}
public string FieldName { get; set; }
public string HelpText { get; set; }
}
这是我要映射到的模型(
用户定义字段
):
public class UserDefinedField
{
public string Id { get; set; }
public int OrgId { get; set; }
public UsedFor UsedFor { get; set; }
public UserDefinedFieldDataType DataType { get; set; }
public string FieldName { get; set; }
public string HelpText { get; set; }
public bool IsDeleted { get; set; }
public string CreateById { get; set; }
public DateTime CreateDate { get; set; }
public string LastModById { get; set; }
public DateTime LastModDate { get; set; }
}
我得到的确切错误是:
找到未映射的成员。查看下面的类型和成员。
添加自定义映射表达式、忽略、添加自定义解析程序或修改源/目标类型
Web.Areas.Admin.ViewModels.CustomFields.UserDefinedFieldViewModel->Models.Core.UserDefinedField(目标成员列表)
未映射的属性:
我不知道是什么引起了这个问题。我在整个项目中都做过这种类型的映射(包括
OrgId
我试着忽略
看看这是否有效,但似乎也没有效果。以下是我当前的映射:
x.CreateMap<UserDefinedFieldViewModel, UserDefinedField>().ForMember(dest => dest.OrgId, options => options.Ignore()).ReverseMap();