и очень поверхностно опишу предметную область и проблему: представим, что у нас есть сервис тестирования пользователя, соответственно мы имеем тесты (собственно они в рамках БД представляют из себя 3 таблицы с данными: тест -o2m-> вопросы -o2m> варианты ответа) и прогресс прохождения пользователем (статусные таблицы, например, клиент -o2m-> попытка прохождения теста -o2m> ответы пользователя), собственно вот имеем эти 2 агрегата.
Описал агрегаты, в базе все связал через owned types в EF, все хорошо и окей, но ровно до тех пор, пока не доходит до связи между данными по тестам и статусными таблицами с пользовательским прогрессом на уровне базы. Они тоже имеют связи между собой, что вполне логично, но вообще не приходит в голову, как их описать, ведь если использовать механизм для описания стандартной связи для entity, то тип не сможет быть owned.
Никакие идеи, кроме как сделать такие типы просто entity не приходят, но учитывая, что предметная область посложнее, чем описана тут, то почти все объекты придется делать сущностями (что лишит возможности использовать owned type), потому что связи между статусными таблицами и справочными должны быть определены так или иначе. Есть какие-то идеи/советы, как лучше поступить в такой ситуации?
Не понимаю почему вы так фиксируетесь на owned типах? Чем простое navigation property вам не угодило тут?
Обсуждают сегодня