在我的项目中发生了非常奇怪的事情,我有一个非常简单的CLR
对象,第一个是Model
另一个是ViewModel
,在我编译项目后,我运行我的WebApi ASP.NET
项目,使用所需的参数,我可以看到我的Model
返回数据。
一旦我可以看到 Mapper 映射正常,第二次它返回的所有东西都带有空值。不是一直发生的问题。
非常重要:更新 14.03.2013
当我回收应用程序时它会停止这样做,但过了一段时间它又开始这样做了,我重新保存web.config
文件然后它就可以了。
这是我的模型/视图模型:
public class Gallery : Entity
{
public override long Id { get; set; }
public virtual Settings SiteOwner { get; set; }
public virtual Category Category { get; set; }
public virtual string PageTitle { get; set; }
public virtual string TitleDescription { get; set; }
public virtual string GalleryTitle { get; set; }
public virtual IList<UIItem> GalleryItems { get; set; }
}
public class UIItem : Entity
{
public override long Id { get; set; }
public virtual Product Product { get; set; }
public virtual Gallery Gallery { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual string Price { get; set; }
public virtual string ImageUrl { get; set; }
public virtual string VideoUrl { get; set; }
public virtual string FileUrl { get; set; }
}
public class GalleryViewModel
{
public virtual string PageTitle { get; set; }
public virtual string TitleDescription { get; set; }
public virtual string GalleryTitle { get; set; }
public virtual IList<UIItemViewModel> GalleryItems { get; set; }
}
public class UIItemViewModel
{
public virtual long Id { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual string Price { get; set; }
public virtual string ImageUrl { get; set; }
public virtual string VideoUrl { get; set; }
public virtual string FileUrl { get; set; }
}
这是我使用它的方式
// my apicontroller
// FindGalleryByAppIdAndCategoryId returns => Gallery
var source = _galleryRepository.FindGalleryByAppIdAndCategoryId(appId, catId);
return Mapper.DynamicMap<GalleryViewModel>(source);