2013-03-14 2 views
3

В настоящее время я использую AutoMapper в проекте MVC с использованием Code-First Entity Framework.Как использовать AutoMapper для сопоставления значений внешнего ключа?

Возможно ли сопоставить значения внешнего ключа в AutoMapper?

Например, я раздел друг от друга кусок моей модели ниже:

public class Account 
{ 
    [Key] 
    public int AccountID { get; set; } 

    public int AccountTypeID { get; set; } 

    //Not included in Account Table in Database 
    // -Get "Type" column from dbo.AccountType table 
    public string AccountType { get; set; } 
} 

На моей странице Информации об учетной записи, я хотел бы, чтобы отобразить имя ВидСчет на странице, а не ID. AccountTypeID - это FK, относящийся к таблице AccountType в моей базе данных.

Мой картографирования для этого достаточно прямо вперед:

Mapper.CreateMap<Models.Account, DataLayer.Account>(); 
Mapper.CreateMap<DataLayer.Account, Models.Account>(); 

Возможно ли это с помощью ForMember? Или мне нужно внести некоторые изменения в мою модель и добиться этого?

ответ

2

Добавьте это в конфигурацию

Mapper.CreateMap<AccountType, string>().ConvertUsing(a => a.Name); 
Смежные вопросы