Я сгенерировал класс для операций CRUD в Business Central, используя службу соединений Visual Studio OData.
Я скачал метаданные xml локально по этому URL: https://api.businesscentral.dynamics.com/v1.0/api/beta/ $ метаданные #
Мне удалось выполнить запросы GET, но у меня возникли проблемы с созданием новой записи в Business Central. Я пытаюсь создать новую накладную. Я передал данные для строки счета-фактуры клиента и продаж в моем новом счете-фактуре продаж и использую классы DataServiceQuery и DataServiceCollection для выполнения запроса.
Этот фрагмент кода:
DataServiceCollection<myNAV.salesInvoice> invoicesToAdd = new DataServiceCollection<myNAV.salesInvoice>(bcContext);
myNAV.salesInvoice newInvoice = new myNAV.salesInvoice();
newInvoice.customerName = customers.First().displayName;
newInvoice.customerId = customers.First().id;
newInvoice.customerNumber = customers.First().number;
newInvoice.discountAmount = Convert.ToDecimal(0.16);
newInvoice.dueDate = new Microsoft.OData.Edm.Date(2020, 4, 21);
newInvoice.number = "1002";
newInvoice.invoiceDate = new Microsoft.OData.Edm.Date(2020, 2, 22);
newInvoice.currencyCode = "USD";
newInvoice.number = "12345";
newInvoice.salesInvoiceLines.Add(lines.First());
//customInvoices3.currencyCode = "USD";
invoicesToAdd.Add(newInvoice);
await bcContext.SaveChangesAsync(SaveChangesOptions.PostOnlySetProperties);
Я получаю эту ошибку при запуске моего кода: System.InvalidOperationException: «Попытка отследить сущность или сложный тип не удалась, поскольку сущность или сложный тип« Microsoft.NAV.salesInvoice »не реализует интерфейс INotifyPropertyChanged. '
Я не могу добавить INotifyPropertyChanged в класс, потому что я сгенерировал его из метаданных Business Central XML, и мне пришлось бы изменить все классы там, и это не решение.
Есть ли способ решить проблемы интерфейса INotifyPropertyChanged без изменения существующего класса? Может быть, сгенерировать его из другого ответа URL xml?