0
我收到一個很好的實現窗體映射嵌套子項的鍵(ID)(請參閱:Mapping a model into a dto and 'include' only the key of child element),但在這裏我搜索一個稍有不同解決方案如下所述。將模型映射到dto和'包含'僅子對<id,string>子元素
我有以下的項目模型:
public class Project
{
[Key]
public int ProjectID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual ICollection<Screenshot> Screenshots { get; set; }
}
而且我有以下截圖模式:
public class Screenshot
{
[Key]
public int ScreenshotID { get; set; }
public string ScreenshotName { get; set; }
public byte[] ScreenshotContent { get; set; }
public string ScreenshotContentType { get; set; }
}
正如你所看到的,每個項目都附加了一些截圖。在下面的函數中,我想檢索一些項目,並且只有一對截圖對應的屏幕截圖+截圖。
public SearchResultDTO<ProjectDTO> GetProjects(SearchParametersProjectDTO dto)
{
...
var resultDTO = new SearchResultDTO<ProjectDTO>
{
Entities = Mapper.Map<IEnumerable<Project>, IEnumerable<ProjectDTO>>(projects.ToList()),
TotalItems = projects.Count()
};
return resultDTO;
}
這裏是ProjectDTO:
[DataContract]
public class ProjectDTO : BaseDTO<ProjectDTO, Project>
{
[DataMember]
public int ProjectID { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string Description { get; set; }
[DataMember]
public Dictionary<int, string> Screenshots { get; set; }
所以我不知道如何 「ScreenshotID + ScreenshotName」 映射到我的DTO的截圖性質。
任何幫助,非常感謝。
謝謝。