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将它们作为新行添加: