возможно я просто не знаю правильных ключевых слов, но я действительно не могу найти решение для моей проблемы.
Я десериализирую XML инвойс для объекта RawInvoice
. Затем я создаю объект Invoice
и копирую свойства из RawInvoice
в Invoice
(из-за разной структуры).
Теперь мне нужно «сопоставить» или «связать» некоторые Article
элементы с уже существующими предметы в базе данных. Существует также проблема в том, что десериализованный объект Article
не имеет всех свойств, как в базе данных, у него есть только свойство Name
.
Моя единственная идея сейчас для l oop, как
for (int i = 0; i < rawInvoice.Items.InvoiceItemContents.Count; i++)
{
invoice.InvoiceItems[i].Article = _invoiceContext.Articles.Where(a => a.Name == invoice.InvoiceItems[i].Article.Name).FirstOrDefault();
}
но я считаю, что должен быть другой и лучший способ, может быть, встроенная команда для чего-то подобного. Я хотел бы иметь (надеюсь) один запрос, который сделает это для меня.
Моя вторая идея заключалась в том, чтобы MySQL вызывать триггер до вставки, но я все равно предпочел бы обработать это в коде.
Итак, есть ли способ сделать это просто? Спасибо.