如何使用Linq2DB查找使用Oracle序列NextVal方法创建的新对象的ID



我们使用Linq2DB读取和写入Oracle表,并使用Oracle序列跟踪主键的下一个值。

我已经计算出在ID属性中添加SequenceName属性,并且Linq2DB调用MY_SEQ.NextVal:

public class myLinq2DBClass
{ 
[Column, SequenceName("MY_SEQ")]
public int Id { get; set; }

然后我创建了一个像这样的新对象:

var newObject = new myLinq2DBClass();
db.MyLinq2DBTable.Insert(newObject);
var newID = newObject.Id; // still zero?

有办法获得新身份证吗?

我想知道Insert是否会返回它,但它返回插入的行数。

linq2db不跟踪更改,也不在没有显式操作的情况下检索值。使用InsertWithInt32Identity代替

var newID = db.InsertWithInt32Identity(newObject);

最新更新