如何在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