標籤:
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!
Asp.Net+SqlServer+EntityFrameWork(總結)