C#获取id的列表或数组';将多个对象保存到数据库后的

C#获取id的列表或数组';将多个对象保存到数据库后的,c#,mysql,arrays,entity-framework,list,C#,Mysql,Arrays,Entity Framework,List,我使用foreach循环将多个对象保存到数据库中。 保存这些对象后,我想对已保存对象的ID进行一些操作。 这是我的插入循环: foreach (var Object in ListOfObjects) { Object obj = new Object(); obj.Objectvalue1 = Object.Value1; obj.Objectvalue2 = Object.Value2 db.Objects.Add(obj); } db.SaveCha

我使用foreach循环将多个对象保存到数据库中。 保存这些对象后,我想对已保存对象的ID进行一些操作。
这是我的插入循环:

foreach (var Object in ListOfObjects)
{
    Object obj = new Object();
    obj.Objectvalue1 = Object.Value1;
    obj.Objectvalue2 = Object.Value2
    db.Objects.Add(obj);    
}
db.SaveChanges();
我想做的是:

List<int> IDs = new List<int>();
foreach (var Object in ListOfObjects)
{
    Object obj = new Object();
    obj.Objectvalue1 = Object.Value1;
    obj.Objectvalue2 = Object.Value2
    db.Objects.Add(obj); 
    IDs.Add(obj.ID) //this should be the Primary key
}
db.SaveChanges();
List id=new List();
foreach(ListOfObjects中的var对象)
{
Object obj=新对象();
obj.Objectvalue1=Object.Value1;
obj.Objectvalue2=Object.Value2
db.Objects.Add(obj);
Add(obj.ID)//这应该是主键
}
db.SaveChanges();
最后一个示例不起作用,因为ID将为空,您首先要将数据保存到数据库中,以便填充ID,但我不想为插入的每个对象保存数据。

我看到了一些获取ID的方法,但这些都是用于插入单个对象,而不是多个对象


小结:是否有办法获取插入记录的id列表或数组。

您只需将创建的对象保存到数据库中即可。因此,在创建数据对象时,将其添加到列表中,然后在执行SaveChanges之后,这些对象中的每个对象都将具有其ID,并且可以轻松地使用

dataObjectList.Select((o) => o.ID).ToList();

保存对象以获取其ID后枚举对象s@KiwiPiet这不会给我该表中的所有对象id,而不仅仅是插入的对象吗?非常确定,在填充对象列表之后,您可以执行AddRange,然后在保存更改之后,您将拥有id列表。而不是在foreach中使用外接程序进行迭代。