我们使用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);