如何使用LINQ Select将类属性映射到内部嵌套类?
解决方案
1. 调整SearchResult类定义
先移除SearchResult中单独的Code和Description属性,只保留Name和Liability成员:
public class SearchResult { public string Name { get; set; } public Liability Liability { get; set; } } public class Liability { public int Code { get; set; } public string Description { get; set; } }
2. 修改LINQ的Select映射逻辑
在创建SearchResult实例时,直接初始化嵌套的Liability对象,并将原属性值赋值给它的对应字段:
var matches = DirectList .Select(x => new SearchResult { Name = x.Name, Liability = new Liability { Code = x.Code, Description = x.Description } });
这样就完成了属性的迁移,把原本属于SearchResult的Code和Description值,全部映射到嵌套的Liability对象中,同时清理了SearchResult的冗余属性。
内容的提问来源于stack exchange,提问作者Pratex
相关产品推荐
相关产品推荐

