------解决方案-------------------- 技术不是最重要的,重要的下来和结构如何. dbml,即Database Mark Language。数据库描述语言,是一种xml格式的文档,用来描述数据库。 操作数据库还是要使用 Linq to xml、Linq to objects、Linq to dataset、Linq to entities 参考
------解决方案-------------------- 关于第一个问题,建议使用WCF+IIS7+TCP协议,单独模块提供单独的服务接口,公布出来的服务实现提供出来的接口
第二个问题,楼主使用linq to Sql。。可以建议使用linq to entity 原理应该一样,单独模块都有个单独的数据层。
------解决方案--------------------
回答你第一个问题。
关于是否使用 Linq to SQL,事实上即使 Linq to SQL 是通过 Linq to xxxx 来间接实现的,我也不会因为这个就放弃使用 Linq to SQL 而去使用 Linq to xxxx。道理很简单,如果高级语言都可以编译为汇编语言,你会因为这个原因就眼里只有汇编语言而从此不用高级语言吗?!除非我知道 Linq to xxxx 的比Linq to SQL更简洁和逻辑性表达力更强,或者确实有成倍的效率提高,才会使用。
所以没有开发战略的人才会追逐个别语句的执行“效率”这种蝇头小利,战略开发者追逐通过业务逻辑和新的架构来对整个系统比成倍地提高效率,而不是为了提高百分之一、二的效率而毁掉系统的扩展和重构的能力。
------解决方案--------------------
哦当然啦,对于底层的移植问题,我的观点是“一定要自己亲自实现”一种DAL接口,而不要受制于人(包括不要受制于.net framework)。例如我在帖子 http://topic.csdn.net/u/20090813/13/5ACF3E68-0AD7-4D12-827A-FF7FEECB1790.html 写了一个IDomain接口,他就可以使用Linq to SQL写不足50行代码就能实现,建议你试一试,可以发现Linq to SQL的更多本质。