Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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
C# 不同数据类型之间的自动映射_C#_.net_Asp.net Mvc_Automapper - Fatal编程技术网

C# 不同数据类型之间的自动映射

C# 不同数据类型之间的自动映射,c#,.net,asp.net-mvc,automapper,C#,.net,Asp.net Mvc,Automapper,下面是一段代码,我必须将user.email(字符串数据类型)与userProfile.email.email数据成员映射 user.UserEmail.Add(newuseremail{Email=Email}) 如何进行映射?以下是从实体映射到模型的核心逻辑。希望能有帮助 Mapper.CreateMap<SourceDataType, DestinationDataType>(); var YourEntityData = GetMyData();//this method w

下面是一段代码,我必须将user.email(字符串数据类型)与userProfile.email.email数据成员映射

user.UserEmail.Add(newuseremail{Email=Email})


如何进行映射?

以下是从实体映射到模型的核心逻辑。希望能有帮助

Mapper.CreateMap<SourceDataType, DestinationDataType>();
var YourEntityData = GetMyData();//this method will return data of type "SourceDataType"
DestinationDataType modelObj= 
              Mapper.Map<SourceDataType, DestinationDataType>(YourEntityData); 
Mapper.CreateMap();
var YourEntityData=GetMyData()//此方法将返回“SourceDataType”类型的数据
DestinationDataType modelObj=
Mapper.Map(YourEntityData);

假设您拥有
用户
课程:

class User
{
    public string Email { get; set; }
}
以及class
UserProfile
和class
Email

class UserProfile
{
    public Email Email { get; set; }
}

class Email
{
    public string Email { get; set; }
}
然后您可以执行以下操作:

// create mapping
Mapper.CreateMap<User, UserProfile>()
      .ForMember(up => up.Email, opt => opt.MapFrom(u => new UserEmail { Email = u.Email }));

// map the entity
var userProfile = Mapper.Map<UserProfile>(user); 
//创建映射
Mapper.CreateMap()
.ForMember(up=>up.Email,opt=>opt.MapFrom(u=>newuseremail{Email=u.Email}));
//映射实体
var userProfile=Mapper.Map(用户);

希望能有所帮助。

发布您的代码。您尝试过什么吗?C允许您显式指定变量的类型,而不是
var YourEntityData=GetMyData()//此方法将返回类型为“SourceDataType”的数据。
您可以说
SourceDataType YourEntityData=GetMyData()是的,谢谢。。。我认识那个朋友,但我不知道如果我使用
var
?@mauliksakhare使用var会不会影响性能。编译代码时,它不再是“var”,而是编译器推断的类型。