我当前在运行代码优先实体框架的MVC项目上使用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; }
}

在我的“帐户详细信息”页面上,我想在页面上显示AccountType的名称,而不是ID。 AccountTypeID是与我数据库中的AccountType表相关的FK。

我的当前映射对此相当简单:
Mapper.CreateMap<Models.Account, DataLayer.Account>();
Mapper.CreateMap<DataLayer.Account, Models.Account>();

使用ForMember是否可能?还是我也必须对模型进行一些更改才能实现此目的?

最佳答案

将此添加到您的配置

Mapper.CreateMap<AccountType, string>().ConvertUsing(a => a.Name);

关于entity-framework - 如何使用AutoMapper映射外键值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15421958/

10-10 16:46