Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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/1/database/8.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# 如何获取由DB序列生成的新对象id?_C#_Database_Visual Studio_Oracle_Entity Framework - Fatal编程技术网

C# 如何获取由DB序列生成的新对象id?

C# 如何获取由DB序列生成的新对象id?,c#,database,visual-studio,oracle,entity-framework,C#,Database,Visual Studio,Oracle,Entity Framework,我有一个带有序列和触发器的表,所以在将它插入数据库时它会创建新的id 在调用SaveChanges()之前,如何获取新的对象id 我需要这个id用于新对象和其他对象之间的链接 我想在调用SaveChanges之前执行此操作,因为我想拥有回滚选项。如果不调用SaveChanges(),您将无法获得它。想想看。ID来自数据库保存更改()是导致与数据库通信的第一件事 如果要撤消,您有几个选择: 在许多情况下,插入时不需要知道客户端的ID。仅仅建立关系就足够了 使用客户端可生成的ID,如GUID 使用

我有一个带有序列和触发器的表,所以在将它插入数据库时它会创建新的id

在调用SaveChanges()之前,如何获取新的对象id

我需要这个id用于新对象和其他对象之间的链接


我想在调用SaveChanges之前执行此操作,因为我想拥有回滚选项。

如果不调用
SaveChanges()
,您将无法获得它。想想看。ID来自数据库<代码>保存更改()是导致与数据库通信的第一件事

如果要撤消,您有几个选择:

  • 在许多情况下,插入时不需要知道客户端的ID。仅仅建立关系就足够了
  • 使用客户端可生成的ID,如GUID
  • 使用
    TransactionScope
    进行“真实”数据库事务
  • 执行撤消(
    DeleteObject
    )而不是回滚