Я создаю приложение 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 объектов!