我有一个支持多语言的 ASP.NET MVC3 应用程序。几乎每个单词都支持多语言,并且在每次页面请求时,我都会从数据库中获取当前所选语言的所有单词到 a 中List,并为每个单词使用它Word:我MeaningID为每个元素保留并从List. 方法成本高,但比为每个Word.
不过,我想知道是否有一个我可以在整个项目中全局使用的数据结构,它仅在用户更改所选语言时从数据库中加载。我可以将类似列表结构的会话用于此目的吗?
编辑:为了让事情更清楚,我发布了我的数据库表。
--Word-- --WordBase-- --Language--
ID ID ID
Text Text Name
BaseID
LanguageID
可以看出,WordBases 是Words 依赖于 a 的含义Language。示例数据是:
--Word-- --Base-- --Language--
1;Hallo;1;1 1;Hello 1-Deutsch
2;Hello;1;2 2;Good 2-English
3;Gut; 2;1
4;Good; 2;2