Хочу создать многоязычный проект, на котором все материалы, хранимые в БД будут многоязычны. В БД все будет храниться следующим образом:
В проекте я разделяю сущности на обычные, переводимые и сущности-переводы.
Обычные сущности содержат только Id.
Переводимые сущности происходят от обычных и в свою очередь содержат коллекцию переводов.
Переводы содержат Id переводимой сущности и Id языка.
Есть следующая проблема: Id сущности может быть либо int, либо long. Получается, что необходимо из-за этого все классы сущностей делать generic.
Как бы вы лучше реализовали репозитории для указанных сущностей?