Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 如何在列表之间进行映射<;字符串>;还有一根绳子?_Asp.net Mvc 3_C# 4.0_Automapper 2 - Fatal编程技术网

Asp.net mvc 3 如何在列表之间进行映射<;字符串>;还有一根绳子?

Asp.net mvc 3 如何在列表之间进行映射<;字符串>;还有一根绳子?,asp.net-mvc-3,c#-4.0,automapper-2,Asp.net Mvc 3,C# 4.0,Automapper 2,我有一个模型,一个像这样的ViewModel,但是AutoMapper不会将值从MyViewModel传递到MyModel MyModel: public List<string> ContentLinks { get; set; } public string ListOfContentLinks { get { return String.Join(";", ContentLinks); } set { Conten

我有一个模型,一个像这样的ViewModel,但是AutoMapper不会将值从MyViewModel传递到MyModel

MyModel:

public List<string> ContentLinks { get; set; }
public string ListOfContentLinks {
    get
    {
        return String.Join(";", ContentLinks);
    }
    set {
        ContentLinks = value.Split(';').ToList();
    } 
}
public List<string> ContentLink { get; set; }
Mapper.CreateMap<MyViewModel, MyModel>();
公共列表内容链接{get;set;}
内容链接的公共字符串列表{
得到
{
返回字符串。Join(“;”,ContentLinks);
}
设置{
ContentLinks=value.Split(“;”).ToList();
} 
}
MyViewModel:

public List<string> ContentLinks { get; set; }
public string ListOfContentLinks {
    get
    {
        return String.Join(";", ContentLinks);
    }
    set {
        ContentLinks = value.Split(';').ToList();
    } 
}
public List<string> ContentLink { get; set; }
Mapper.CreateMap<MyViewModel, MyModel>();
公共列表ContentLink{get;set;}
增压器:

public List<string> ContentLinks { get; set; }
public string ListOfContentLinks {
    get
    {
        return String.Join(";", ContentLinks);
    }
    set {
        ContentLinks = value.Split(';').ToList();
    } 
}
public List<string> ContentLink { get; set; }
Mapper.CreateMap<MyViewModel, MyModel>();
Mapper.CreateMap();

如何使映射正确工作?

属性必须与默认映射具有相同的名称。在一种情况下,您有
ContentLinks
,在另一种情况下,您有
ContentLink
,如果您不希望属性具有相同的名称,请对该成员使用自定义映射:

Mapper.CreateMap<MyViewModel, MyModel>()
      .ForMember(d => d.ContentLinks, opt => opt.MapFrom(s => s.ContentLink));
Mapper.CreateMap()
.ForMember(d=>d.ContentLinks,opt=>opt.MapFrom(s=>s.ContentLink));

您是否从automapper获得错误?@Mattias Josefsson无错误,但在数据库内容链接列表中==null