Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将一种类型的项列表添加到另一个对象_C# - Fatal编程技术网

C# 将一种类型的项列表添加到另一个对象

C# 将一种类型的项列表添加到另一个对象,c#,C#,这似乎是一个相当直截了当的问题,但出于某种原因,我很难处理它。我有一门课程,资格证书: public class QualificationDto { public QualificationDto() { } [DataMember] public String Name { get; set; } [DataMember] public Int32 QualificationId { get; set; } [DataMe

这似乎是一个相当直截了当的问题,但出于某种原因,我很难处理它。我有一门课程,资格证书:

public class QualificationDto
{
    public QualificationDto()
    {

    }
    [DataMember]
    public String Name { get; set; }

    [DataMember]
    public Int32 QualificationId { get; set; }

    [DataMember]

    public List<CredentialDto> Credentials { get; set; }

}
CredentialTo还有其他属性,但我真正关心的是“CredentialId”

我想做的是将“CredentialId”转移到另一个类中的IList中,即资格实体:

public class QualificationEntity
{   
    public virtual String Name{ get; set; }
    public virtual Int32 QualificationId{ get; set; }
    public virtual IList<CredentialEntity> CredentialsList { get ;set ;}
}

所有这些的全部要点是,我需要用“凭证”(在QualificationDto顶部)中的ID填充“凭证列表”(在QualificationEntity中)。

假设
QualificationDto
QualificationDto
类型的对象的实例,您可以得到您想要的,通过对
凭证
列表中每个项目的简单投影,如下所示:

var credentialsList = qualificationDto.Credentials
                                      .Select(c => new 
                                              CredentialEntity(c.CredentialId)
                                     ).ToList();

我想这就是你要找的。它将为每个
CredentialTo
创建一个新的
CredentialEntity
,并将每个id复制到一个新列表中

qualificationEntry.CredentialsList = qualificationDto.Credentials.Select(c =>
    new CredentialEntity
    {
        CredentialId = c.CredentialId
    }).ToList();

这就是你想要的。如果我没有正确理解你,请纠正我。

我已编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。
var credentialsList = qualificationDto.Credentials
                                      .Select(c => new 
                                              CredentialEntity(c.CredentialId)
                                     ).ToList();
qualificationEntry.CredentialsList = qualificationDto.Credentials.Select(c =>
    new CredentialEntity
    {
        CredentialId = c.CredentialId
    }).ToList();
foreach (CredentialDto credential in QualificationDto.Credentials)
{
   CredentialEntity entity = new CredentialEntity();
   entity.CredentialId=CredentialDto.CredentialId;
   QualificationEntity.CredentialsList.Add(entity)
}