public class Details
{
public String Id { get; set; }
public String Type { get; set; }
public String Name { get; set; }
public String Terms { get; set; }
public List<FAQ> Faqs { get; set; }
}
public class FAQ
{
public string Question { get; set; }
public string Answer { get; set; }
}
我想将其转换为详细信息的列表类型,例如List<Details> detatilsList;
我尝试过这样,但是行在重复。如果我删除Details,则得到不同的结果,但由于匿名强制转换异常而无法将其转换为Details类型。
var details = dt.AsEnumerable().GroupBy(x => new Details //removing this detail gives distinct record as expected. But can not cast { ID= x.Field<decimal>("ID"), NAME = x.Field<string>("NAME"), TYPE = x.Field<string>("TYPE"), TERMS = x.Field<string>("TERMS") }) .Select(x => new { x.Key.ID, x.Key.NAME, x.Key.TYPE, x.Key.TERMS, Faqs = x.Select( s => new Faq {Question = s.Field<string>("QUESTION"), Answer = s.Field<string>("ANSWER")}) }).ToList();
如何修复它并将其转换为详细信息列表
我有一个数据表。以及数据模型为public类Details {public String ID {get;组; } public String Type {get;组; } public String Name {get;组; } ...
您可以按匿名对象对多个键进行分组,然后从DataTable
中选择所需的列>
下面的代码首先使用ID
,Name
,Type
和Terms
对数据进行分组,然后在Select子句中创建新的Details
对象。