ASP.NET MVC的多语言方案概述2014-06-041:数据的多语言:在QBlog里,数据的多语言,我是分成两种方案一起处理:A:多条数据,文章数据,用一个语言字段来标识该条数据为何种语言。B:对于其它数据,标题,公告等,用一个[#LangSplit]标识来分隔前后两种语言。不过现在的方案有点不同,看如下图:

看到大量的Xml字段了吧,这就是上一个项目继承而来的精华,在项目里动不了事实存在。关于表名和字段命名方式,走的是国际范,大伙不要学。针对Xml,需要有一小套处理方案:
数据库以Xml字段存档多语言,格式为:<ML V="1.0"><M L="zh-cn">中文</M><M L="en">English</M><M L="..">其它语言</M></ML>
然后针对这种存档,需要有相应的处理:SQL:查询语法为:取值:字段名.value("(/ML/M[@L="zh-cn"])[1]","nvarchar(max)")取节点:字段名.query("/ML/M[@L="en"]")判断:字段名.exists("/ML/M[@L="zh-cn"]")排序:用取值后的字段名进行排序处理流程大体如下: