经过www.shenghuohui.com项目的Linq使用经验,深深地体会到了Linq在中小型项目开发的便利性。
在此我介绍下我经验和我觉得很便利的开发模型:
数据库的表可以按照功能模块来存储到多个datacontext中,全部放置到一个类库项目中,在程序中引用类库就行了。
datacontext在写的时候不要用跟数据库对象相同的命名,这样重复使用表的时候不会冲突,一个表在同一个文件夹下dhtml中不能出现2次,不然会编译出错。关系查询尽量使用视图,如果用linq做就得加一种类型,维护起来很麻烦。
json化:使用到自级联关系的表都不能作关系,否则就不可序列化了。用作json数据的表最好少有关系,关系层太多他会解析出问题。
个人感觉比较便利的开发模型:
数据库-linq类库-逻辑层类(只进行iquerytable的转化和少量的添加修改删除函数。不进行实际查询操作),页面(使用逻辑层返回的对象进行各种条件查询,使用iquerytable的条件,排序,Count等方法进行需要的查询,还可直接使用linq类下的datacontext进行实际的添加修改删除,不需要在逻辑层先写代码)。
使用这种模式开发,至少可以提高30%的开发效率,不过性能就比较依赖于linq技术了,而且是新技术,需要自我学习能力比较强的人使用,不过一旦掌握技巧,就快很多了。
在此我介绍下我经验和我觉得很便利的开发模型:
数据库的表可以按照功能模块来存储到多个datacontext中,全部放置到一个类库项目中,在程序中引用类库就行了。
datacontext在写的时候不要用跟数据库对象相同的命名,这样重复使用表的时候不会冲突,一个表在同一个文件夹下dhtml中不能出现2次,不然会编译出错。关系查询尽量使用视图,如果用linq做就得加一种类型,维护起来很麻烦。
json化:使用到自级联关系的表都不能作关系,否则就不可序列化了。用作json数据的表最好少有关系,关系层太多他会解析出问题。
个人感觉比较便利的开发模型:
数据库-linq类库-逻辑层类(只进行iquerytable的转化和少量的添加修改删除函数。不进行实际查询操作),页面(使用逻辑层返回的对象进行各种条件查询,使用iquerytable的条件,排序,Count等方法进行需要的查询,还可直接使用linq类下的datacontext进行实际的添加修改删除,不需要在逻辑层先写代码)。
使用这种模式开发,至少可以提高30%的开发效率,不过性能就比较依赖于linq技术了,而且是新技术,需要自我学习能力比较强的人使用,不过一旦掌握技巧,就快很多了。
浙公网安备 33010602011771号