C# 将一个数组复制到另一个数组(C中的一个属性除外)#

C# 将一个数组复制到另一个数组(C中的一个属性除外)#,c#,entity-framework,C#,Entity Framework,我有一个对象数组。 我想将这个对象数组复制到另一个数组中,但第一个数组的一个属性是标识列。我该怎么做 public class Lot { [Key] public int LotNumber { get; set; } public string LotName { get; set; } } Lot[] ExistingLots = (from l in _context.Lot.Where(c => c.NumLot == 999).Select l).To

我有一个对象数组。 我想将这个对象数组复制到另一个数组中,但第一个数组的一个属性是标识列。我该怎么做

public class Lot
{
    [Key]
    public int LotNumber { get; set; }
    public string LotName { get; set; }
}

Lot[] ExistingLots = (from l in _context.Lot.Where(c => c.NumLot == 999).Select l).ToArray();
int size = ExistingLots.Length;
Compteur[] DestinationLots = new Compteur[size];
//复制除批号以外的所有内容

Array.Copy(ExistingLots , 1, DestinationLots , 1, CompteursExistants.Length-size);

使用现有值创建新的
Lot
对象,然后将这些对象添加回
DbSet

Lot[] destinationLots = ExistingLots
    .Select(el => new Lot { LotName = el.LotName })
    .ToArray();
_context.Lot.Add(destinationLots);
_context.SaveChanges();

我用标识来装饰LotNumber,它现在可以工作了。我删除了它,因为数据导入需要保留列值。 谢谢大家

  public class Lot
  {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int LotNumber { get; set; }
        public string LotName { get; set; }
   }

是否要将该值复制为
null
,还是完全不复制该属性?后者需要另一个模型,这是一个wierd需求。通常,钥匙是你最不想扔掉的东西。如果我只能传输一个值,那么PK将是我的首选。如果我必须为UI端/ASP.NEt页面创建一个ID,那么PK始终是我的首选。@DetectivePikachu我不想传输该属性,因为它是一个标识列。我想在复制时“删除”这个专栏。你需要认真地用你想要的内容更新这个问题。从示例中的内容开始,然后显示您希望代码执行的操作,然后显示您的代码。我们不知道您指定了什么课程或其他课程。@Christopher谢谢您提供的信息。主键是一个标识列。基本上,我想将一个表的n行复制到另n行,除了标识column@Johnnathan巴克利,让我看看这个!感谢这是一个简单的类,我以它为例,但实际上我的类有30个字段,我想复制除IdLot之外的所有字段。如何做到这一点?@TropicalViking完全一样,只需添加其他属性<代码>新地块{Property1=el.Property1,Property2=el.Property2}@TropicalViking实际上我没有意识到这一点,但您可以将现有实体添加回您的上下文中,EF将它们作为新行添加: