Сгенерированный класс Business Central Odata Service Connection не содержит интерфейс INotifyPropertyChanged - PullRequest
0 голосов
/ 16 марта 2020

Я сгенерировал класс для операций 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?

...