Как я могу реализовать локализацию как объект JSON в. Net EF Core? - PullRequest
0 голосов
/ 01 августа 2020

Я создаю приложение Web API .Net Core 3.1, которое обслуживает данные из базы данных MySQL с протоколом OData.

Мой вопрос в том, как добавить функциональность интернационализации (например, i18n) в указанный столбец c без внешних ключей, используя структуру JSON?

Например, я хотел бы определить такую ​​модель сущности:

    public partial class City
    {
        public City(){}

        public ulong Id { get; set; }
        public string Name { get; set; }
        public string CountryId { get; set; }
        public DateTime? CreatedAt { get; set; }
        public DateTime? UpdatedAt { get; set; }

        public virtual Country Country { get; set; }
    }

а затем данные в столбце Name будут сохранены следующим образом для en и de локалей:

{"en":"Cologne","de":"Köln"}

А затем, когда текущая локаль de, Köln и когда en устанавливается как текущая локаль, затем Cologne выборка во время чтения данных!

Также, когда мы сохраняем данные, переданная строка сохраняется в соответствующем свойстве в формате JSON . Например, если локаль установлена ​​на es, а пользователь передает Kolne, тогда у нас должны быть следующие данные в БД:

{"en":"Cologne","de":"Köln","es":"Kolne"}

Я ищу некоторые решения, такие как этот , который предлагается для Laravel, и хранить переводы точно так, как я объяснил (т.е. в объекте JSON и в одном столбце без каких-либо внешних ключей)!

Я ищу какой-нибудь NuGet, который выполняет этот процесс автоматически.

Обратите внимание, этот вопрос не касается файлов i18n JSON !!! а в базе около JSON объектов!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...