1
我使用AutoMapper將Domain對象映射到我的控制器中的ViewModel對象。一切工作正常,直到我嘗試添加雙?屬性。我已經開始收到以下錯誤:Automapper失敗了嗎?屬性
Missing type map configuration or unsupported mapping.
Mapping types:
Address -> AddressModel
Domain.Address -> Web.Models.AddressModel
Destination path:
AccountAddressModel.Address.Address
Source value:
Domain.Address
我的地址階級和階級AddressModel都具有兩個屬性稱爲經度和緯度。這些屬性(在這兩個類中)被定義爲double ?.如果我註釋掉這些屬性,一切正常。如果我將所有這些屬性加倍,那麼一切正常。它只有兩倍?導致問題。
我正在使用AutoMapper 2.2.1通過NuGet下載。
我讀過其他帖子,這個問題與空值應該是固定的。這使我相信我可能會做一些不同的東西,所以我要發佈我的代碼,看看是否有人能看到的東西,可能是一個問題:
域模型
public class AccountAddress
{
public int Id { get; set; }
public int AccountId { get; set; }
public int AddressId { get; set; }
public Address Address { get; set; }
...
}
public class Address : IUserTrackingEntity
{
public int Id { get; set; }
public string Addressee { get; set; }
public string Street1 { get; set; }
public string Street2 { get; set; }
...
public double? Longitude { get; set; }
public double? Latitutde { get; set; }
}
VIEW模型
public class AccountAddressEditModel
{
public string AccountName { get; set; }
public AccountAddressModel Address { get; set; }
public IList<Country> CountriesList { get; set; }
...
}
public class AccountAddressModel
{
public AccountAddressModel()
{
Address = new AddressModel();
}
public int AccountId { get; set; }
public int AddressId { get; set; }
public int Id { get; set; }
public AddressModel Address { get; set; }
}
public class AddressModel
{
public int Id { get; set; }
public string Addressee { get; set; }
[Required(ErrorMessage="A street address is required.")]
public string Street1 { get; set; }
public string Street2 { get; set; }
...
public double? Longitude { get; set; }
public double? Latitude { get; set; }
}
映射代碼在我的控制器
//Get an AccountAddress
address = _context.AccountAddresses.SingleOrDefault(ad => ad.Id == 12345);
model = new AccountAddressEditModel();
Mapper.CreateMap<AccountAddress, AccountAddressModel>();
Mapper.CreateMap<AccountAddress, AddressModel>();
Mapper.Map(address, model.AccountAddress);
有沒有其他人經歷過這個或找到了解決方案?
這樣做。多謝!奇怪的是,直到我添加了這些雙重效果之前,它正在以其他方式工作屬性。 – RHarris 2013-04-11 13:36:31