确定记录是否已被更新/插入/删除

时间:2019-07-03 13:18:42

标签: crud acumatica

我有一个称为APTran的DAC。我想确保我在此DAC中的所有记录均已插入。

这是根据相应的POReceiptLine开票数量来审核我的APTran记录

foreach(APTran apTran in Base.Transactions.Select())
{
   // determine the state of apTran (inserted, Deleted)
}

1 个答案:

答案 0 :(得分:1)

bool isInserted = cache.GetStatus(apTran) == PXEntryStatus.Inserted;
bool isDeleted = cache.GetStatus(apTran) == PXEntryStatus.Deleted;
bool isInsertedDeleted = cache.GetStatus(apTran) == PXEntryStatus.InsertedDeleted;

InsertedDeleted是一种特殊情况,其中记录已插入高速缓存中,但在记录持久保存到数据库之前被删除了。

我不知道检查记录是否确实插入数据库的正式方法。 我通常要做的是检查数据库生成的字段值之一。在插入数据库之前,它们将一直为空。

bool hasBeenPersisted = apTran.Tstamp != null;