Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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# 如何获取插入的ID';s_C#_Linq To Entities - Fatal编程技术网

C# 如何获取插入的ID';s

C# 如何获取插入的ID';s,c#,linq-to-entities,C#,Linq To Entities,在DB中添加新行后,我正在尝试获取所有ID 我尝试了这个,但给了我一个异常->返回0作为Id foreach (var s in ss) { Table t1 = new Table(); ... ... _entities.Table.Add(t1); Ids.Add(ID); // <--- trying to get Ids here. } _entities.SaveChanges(); foreach(ss中的变量s) { 表t1

DB
中添加新行后,我正在尝试获取所有ID

我尝试了这个,但给了我一个异常->返回0作为Id

foreach (var s in ss)
{
    Table t1 = new Table();

    ...
    ...

    _entities.Table.Add(t1);

    Ids.Add(ID); // <--- trying to get Ids here.
}

_entities.SaveChanges();
foreach(ss中的变量s)
{
表t1=新表();
...
...
_实体。表。添加(t1);

ID.Add(ID);//通常,您的实体将有一个ID属性,在调用
SaveChanges()
后会更新该属性。因此,您可以执行以下操作:

List<int> Ids = new List<int>();
foreach (var s in ss)
{
    Table t1 = new Table();
    ...
    _entities.Table.Add(t1);
    _entities.SaveChanges();

    Ids.Add(t1.ID);
}
List id=new List();
foreach(ss中的var s)
{
表t1=新表();
...
_实体。表。添加(t1);
_entities.SaveChanges();
ID.Add(t1.ID);
}
或者这个:

List<Table> insertedTables = new List<Table>();
foreach (var s in ss)
{
    Table t1 = new Table();
    ...
    _entities.Table.Add(t1);

    insertedTables.Add(t1);
}
_entities.SaveChanges();

List<int> Ids = insertedTables.Select(t => t.ID).ToList();
List insertedTables=new List();
foreach(ss中的var s)
{
表t1=新表();
...
_实体。表。添加(t1);
insertedTables.Add(t1);
}
_entities.SaveChanges();
List ID=insertedTables.Select(t=>t.ID.ToList();

通常,您的实体将有一个ID属性,在调用
SaveChanges()
后会更新该属性。因此,您可以执行以下操作:

List<int> Ids = new List<int>();
foreach (var s in ss)
{
    Table t1 = new Table();
    ...
    _entities.Table.Add(t1);
    _entities.SaveChanges();

    Ids.Add(t1.ID);
}
List id=new List();
foreach(ss中的var s)
{
表t1=新表();
...
_实体。表。添加(t1);
_entities.SaveChanges();
ID.Add(t1.ID);
}
或者这个:

List<Table> insertedTables = new List<Table>();
foreach (var s in ss)
{
    Table t1 = new Table();
    ...
    _entities.Table.Add(t1);

    insertedTables.Add(t1);
}
_entities.SaveChanges();

List<int> Ids = insertedTables.Select(t => t.ID).ToList();
List insertedTables=new List();
foreach(ss中的var s)
{
表t1=新表();
...
_实体。表。添加(t1);
insertedTables.Add(t1);
}
_entities.SaveChanges();
List ID=insertedTables.Select(t=>t.ID.ToList();

通常,您的实体将有一个ID属性,在调用
SaveChanges()
后会更新该属性。因此,您可以执行以下操作:

List<int> Ids = new List<int>();
foreach (var s in ss)
{
    Table t1 = new Table();
    ...
    _entities.Table.Add(t1);
    _entities.SaveChanges();

    Ids.Add(t1.ID);
}
List id=new List();
foreach(ss中的var s)
{
表t1=新表();
...
_实体。表。添加(t1);
_entities.SaveChanges();
ID.Add(t1.ID);
}
或者这个:

List<Table> insertedTables = new List<Table>();
foreach (var s in ss)
{
    Table t1 = new Table();
    ...
    _entities.Table.Add(t1);

    insertedTables.Add(t1);
}
_entities.SaveChanges();

List<int> Ids = insertedTables.Select(t => t.ID).ToList();
List insertedTables=new List();
foreach(ss中的var s)
{
表t1=新表();
...
_实体。表。添加(t1);
insertedTables.Add(t1);
}
_entities.SaveChanges();
List ID=insertedTables.Select(t=>t.ID.ToList();

通常,您的实体将有一个ID属性,在调用
SaveChanges()
后会更新该属性。因此,您可以执行以下操作:

List<int> Ids = new List<int>();
foreach (var s in ss)
{
    Table t1 = new Table();
    ...
    _entities.Table.Add(t1);
    _entities.SaveChanges();

    Ids.Add(t1.ID);
}
List id=new List();
foreach(ss中的var s)
{
表t1=新表();
...
_实体。表。添加(t1);
_entities.SaveChanges();
ID.Add(t1.ID);
}
或者这个:

List<Table> insertedTables = new List<Table>();
foreach (var s in ss)
{
    Table t1 = new Table();
    ...
    _entities.Table.Add(t1);

    insertedTables.Add(t1);
}
_entities.SaveChanges();

List<int> Ids = insertedTables.Select(t => t.ID).ToList();
List insertedTables=new List();
foreach(ss中的var s)
{
表t1=新表();
...
_实体。表。添加(t1);
insertedTables.Add(t1);
}
_entities.SaveChanges();
List ID=insertedTables.Select(t=>t.ID.ToList();


一旦插入并保存,您的实体对象将有其Id。我想这就是您的要求。一旦插入并保存,您的实体对象将有其Id。我想这就是您的要求。一旦插入并保存,您的实体对象将有其Id。我想这就是您的要求。一旦插入并保存,您的实体对象将有其Idcts将有它们的Id。我想这就是你要问的。谢谢你的快速回复。我尝试了第一个,但它给了我一个异常
{“由于会话中有其他线程运行,因此不允许新事务。”}
@Lakhae在这种情况下,您可能需要进行其他调整,但在没有看到完整上下文的情况下,很难说。第二个对您有效吗?它没有按照我的预期工作。我正在尝试插入所有新行
Ids
。但是您的代码也会返回所有现有行
Ids
。@Lakhae它不应该有效。如果您创建一个新的当您在
foreach
循环中插入新行时,请列出并仅添加到列表中,然后
列表。选择(t=>t.ID)
将仅返回插入的行。可能是由于变量名引起的混淆。请参阅我的更新答案以获得澄清。感谢您的快速回复。我尝试了第一个,但它给了我一个异常
{“由于会话中正在运行其他线程,因此不允许新事务。”}
@Lakhae在这种情况下,您可能需要进行其他调整,但在没有看到完整上下文的情况下,很难说。第二个对您有效吗?它没有按照我的预期工作。我正在尝试插入所有新行
Ids
。但是您的代码也会返回所有现有行
Ids
。@Lakhae它不应该有效。如果您创建一个新的当您在
foreach
循环中插入新行时,请列出并仅添加到列表中,然后
列表。选择(t=>t.ID)
将仅返回插入的行。可能是由于变量名引起的混淆。请参阅我的更新答案以获得澄清。感谢您的快速回复。我尝试了第一个,但它给我一个异常
{”不允许新事务,因为会话中正在运行其他线程。“}
@Lakhae在这种情况下,您可能需要进行其他调整,但在没有看到完整上下文的情况下,很难说。第二个对您有效吗?它没有按照我的预期工作。我正在尝试插入所有新行
Ids
。但是您的代码也会返回所有现有行
Ids
。@Lakhae它不应该有效。如果您创建一个新的当您在
foreach
循环中插入新行时,请列出并仅添加到列表中,然后
列表。选择(t=>t.ID)
将仅返回插入的行。可能是由于变量名引起的混淆。请参阅我的更新答案以获得澄清。感谢您的快速回复。我尝试了第一个,但它给我一个异常
{”不允许新事务,因为会话中正在运行其他线程。“}
@Lakhae在这种情况下,您可能需要进行其他调整,但在没有看到完整上下文的情况下,很难说。第二个对您有效吗?它没有按照我的预期工作。我正在尝试插入所有新行
Ids
。但是您的代码也会返回所有现有行
Ids
。@Lakhae它不应该有效。如果您创建一个新的仅当您在
foreach
循环中插入新行,然后