1
我使用NHibernate(v3.3)來加載/保存我的域模型類到數據庫。我已經創建了一堆View Model類用於MVC3網站的前端。所以我打算使用AutoMapper(v2.1)將視圖模型類映射到域類。是否可以在nhibernate中使用automapper?
我已經定義了兩個類Restaurant和RestaurantViewModel之間的Map配置。下面是方法:
public void Create(IConfiguration configuration)
{
if (configuration == null)
throw new ArgumentNullException("configuration");
IMappingExpression<RestaurantViewModel, Restaurant> map =
configuration.CreateMap<RestaurantViewModel, Restaurant>();
map.ForMember(x => x.Address, o => o.ResolveUsing(x => new Address
{
BuildingNumber = x.BuildingNumber,
City = x.City,
PostalCode = x.PostalCode,
Street = x.Street
}));
map.ForMember(x => x.Categories, o => o.Ignore());
map.ForMember(x => x.Photo, o => o.Ignore());
}
但調用Mapper.Map當我得到異常<RestaurantViewModel>(餐廳);
這是異常的文本:
Missing type map configuration or unsupported mapping.
Mapping types:
RestaurantProxy -> RestaurantViewModel
RestaurantProxy -> FoodDelivery.Website.Models.RestaurantViewModel
Destination path:
RestaurantViewModel
Source value:
FoodDelivery.DataDomain.Restaurant
它看起來像NHibernate的在我用的名字RestaunrantProxy餐廳創建代理,所以當我問AutoMapper映射酒家RestaurantViewModel它實際上映射代理和因爲沒有該映射器的映射引發異常。
有沒有什麼方法可以修復代碼?
你是對的,我沒有正確地加載地圖餐廳RestaurantViewModel(標記類與它的內部和配置模塊沒有找到它)。 對不起,這樣愚蠢的問題令人不安。 –