如何在ORM中使用多语言数据库模式?

美好的一天!

我正在寻找实现多语言数据库模式的最佳方法,我使用的方法与此处相同:多语言数据库设计的最佳实践是什么? (一张表与语言中性数据,一个表用于所有翻译)。 它似乎很好,很干净,并且不限制可能的语言数量。

但我想使用一个简单的ORM(如C#中的LINQ,PHP中的Outlet等),其中每个表映射到实体类。 这可以工作,但查询变得更加复杂。

可能有一些特殊的技术使用ORM的这种DB shema? 或者我可以从支持更复杂映射的更复杂的ORM中受益?

提前致谢!


对所有翻译只使用一张表格可能会迅速导致任何操作(选择/插入/更新/删除)的严重性能和复杂性问题; 试着理解我的意思。

然后我会采用以下方法(每个“可翻译”对象两张表),这在性能,复杂性和维护问题之间似乎很好平衡。

product
  - id (PK)
  - number1
  - number2
  - date1
  - date2
  ...

product_i18n
  - id (PK)
  - product_id (FK)
  - language_id (FK)
  - string1
  - string2
  ...

language
  - id (PK)
  - name

检查Propel ORM(PHP)是如何完成的:http://propelorm.org/blog/2011/01/11/propel-gets-i18n-behavior-and-why-it-matters.html

HTH

链接地址: http://www.djcxy.com/p/37449.html

上一篇: How to use multilanguage database schema with ORM?

下一篇: Entity Framework Database First many