У меня есть две среды. 1 онлайн, другой местный.
* Online - производственная среда: win server 2016, sql server 2016, IIS 10.0, .net frameword 4.7.1, Acumatica 19.100.0122
* Локальная среда разработки: windows 10, sql server 2016, IIS 10.0, .net frameword 4.7.2. Acumatica 19.100.0122
Две среды работают по-разному, когда я сделал те же шаги, что и ниже:
1, создать новый элемент с именем "TESTTODEL"
2, без каких-либо транзакций с этим новым элементом "TESTTODEL", удалите его сразу после создания.
Совет: согласно логике Acuamtica, "TESTTODEL" не будет физически удален в базе данных. Он будет просто помечен как «DeletedDatabaseRecord = 1» в таблице БД InventoryItem.
А вот и другие
3. Попробуйте воссоздать новый предмет, который также называется «TESTTODEL»
Локально сохраняется успешно, значение «DeletedDatabaseRecord» изменяется на 0 в БД, а вся остальная информация обновляется как новый ввод. Итак, на самом деле это операция «Обновление».
Однако в Online он не разрешает сохранять, говорит: «Невозможно вставить дублированную строку в объект« dbo.InventoryItem »с уникальным индексом. Дублированный ключ - (5, TESTTODEL)»
Очевидно, это операция «Вставка» в настоящее время.
Так почему же разные? Может ли кто-нибудь помочь мне узнать?