Один метод, который хранит данные в двух разных базах данных
Всем Привет,
Я работаю над проектом, в котором имею дело с несколькими базами данных с использованием entity framework. Все базы данных имеют схожую схему.
У меня есть сценарий, в котором мне нужно хранить данные в одной из баз данных на основе одного из свойств этого объекта.
Скажем, я продал целочисленное свойство, которое имеет некоторые целочисленные значения состояний (Id состояния), продукт будет продаваться в таком-то состоянии.
Я написал несколько методов с несколькими контекстами для хранения значений объектов в соответствующих базах данных.
Теперь функциональность и бизнес-валидация одинаковы для всех состояний, только целевая база данных отличается.
Может ли кто-нибудь помочь мне в написании логики этого сценария на C#?
Заранее спасибо.
Что я уже пробовал:
What I've done is, I've written multiple methods with multiple contexts for storing the Object values in respective databases.
Richard Deeming
Это похоже на изворотливый дизайн базы данных. Вместо того чтобы хранить данные из разных состояний в разных базах данных, они должны храниться в одной базе данных, используя отношение внешнего ключа к этому состоянию. При необходимости можно использовать функции секционирования SQL Server для разделения данных для разных состояний, если производительность является проблемой.
Но в противном случае вам, вероятно, придется использовать DTO; создайте DbContext
с правильной строкой подключения, основанной на свойстве; а затем сопоставьте DTO с сущностью БД в этом контексте.
Тогда возникает вопрос о том, что произойдет, если состояние объекта "продано" изменится.