Asp.Net,SqlServer,EntityFrameWork下的一点应用总结
正文:
1.总结一下EntityFrameWork5.0使用
<1>分页注意:where()扩展方法需要写在前面再使用Skip().Take()进行数据获取,否则会导致数据获取不全(有一部分被过滤掉)
<2>有外键关系的表实体Json序列化时的无限循环处理
问题分析:Student表和Class表,一个Class有多个Student,SClassID作为外键,当序列化Student表(Json)时会报一个无限循环的错误,因为在Student通过SClassID找到了Class表,Class表中有一个集合的导航属性存放着Student信息又找回到了Student,导致无限循环
解决问题:
第一种:关闭延迟加载:
第二种:Select本表的数据,不要导航属性的列.
<3>使用延迟加载
使用延迟加载,在适当的情况下是一个优化性能的很好方法,一般默认是启用的.
<4>不跟踪查询
减少容器对实体(集合)的管理,有利于性能:
<5>多表的连接查询
<6>乐观并发控制
2.Asp.Net下的Repeater控件以及支持多数据库的分页控件AspNetPager.dll
<1>使用Repeater可以实现Jq(Ajax)模板的效果来加载重复一个格式的数据表格:
<2>配合AspNetPager.dll可以快速实现分页
添加分页控件的导航按钮事件:
<3>对于Repeater控件项下的格式化:
第一种方法:使用回传:
第二种方法:使用三元运算符:
<td><%# int.Parse(Eval("price").ToString()) > 3600 ? "<a>#</a>" : Eval("price").ToString()%></td>
<4>清除Request.QueryString的内容:
总结:
使用asp.net的一些控件也可以实现很多效果功能;
EF快速开发;
End!