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!

    

posted on 2015-09-05 16:26  巴夫巴夫  阅读(234)  评论(0编辑  收藏  举报