У меня есть две таблицы:
Счет (ID, Внутренняя цена, Внешняя цена)
InvoiceSummary (InvoiceID, Variance)
В этом приложении у нас есть процесс, который проходит через таблицу Invoice, создавая представления объектов в Entity Framework. Затем приложение должно вычислить разницу между (InternalPrice - ExternalPrice) и сохранить ее в столбце Variance.
Чтобы структура объектов могла эффективно выполнять это на большом количестве строк (~ 5 миллионов), я разделила результат вычисления в отдельную таблицу. Это позволяет мне использовать представления объектов для вычисления отклонения (плюс другая бизнес-логика), а затем использовать «массовую вставку SQL», чтобы быстро вставить данные в мою базу данных (намного быстрее, чем обычное обновление Entity).
Я хотел бы объединить таблицы Invoice & InvoiceSummary в один объект сущности, сохраняя отдельные таблицы для попустительства BCP, как описано выше. Однако в InvoiceSummary не всегда может быть совпадающая строка.
Похоже, что для реализации объединенной сущности Entity Framework требуется отображение 1: 1 между двумя таблицами. Кто-нибудь знает, как я могу получить Entity Framework для представления этого с отображением от 0 до 1?
Если я не нахожу решение для структуры сущностей, я мог бы использовать представление, чтобы «скрыть» базовую структуру таблицы. Я использую SQL-сервер, который поддерживает обновляемые представления, так что это должно быть прозрачным для EF? Также приветствуются решения для альтернативных конструкций.