Ооо, сколько информации сразу. Похоже я тоже увидел свою ошибку, еще не проверял но думаю понял, но по порядку.
1. Учусь в основном по AutoCAD .NET Developer's Guide. И в нем написано, что можно открывать вложенные транзакции и думал, что это как раз нормально. Впредь буду максимально избегать этого.
2. Основная моя ошибка. Сейчас перечитал пункт по транзакциям и понял, что если не сохранять главную (первую) транзакцию, то он отменяет все предыдущие. Я предполагал что каждая транзакция при вызове метода commit записывает изменения текущей транзакции в базу данных чертежа и вышестоящие транзакции не будут касаться его.
3. Все таки трудно после VBA понять систему транзакции, я все еще не до конца понимаю его смысл, почему нельзя было записывать или считывать данные напрямую через объекты (как это в VBA
). Знаю что есть вариант модифицировать объекты напрямую, но советуют через транзакции, поэтому и иду по этому пути.
4. В приложенном проекте еще много логических ошибок, и фильтр не настроен на предварительном выборе и блоки он ставит логически неправильно и в опции я сам еще не заходил, так как застрял с этими блоками. Но это дело наживное.
5. И еще один вопрос. Метод AppendEntity записывает данные (объект) в БД чертежа, т.е. в BlockTableRecord или подобные, а что фактически делает метод транзакции AddNewlyCreatedDBObject. И что будет если не делать один из методов. В общем как вы поняли я плаваю в мат.части, можно просто "тыкнуть" если это где то уже описано. Спасибо всем.