一:資料庫支援
MiniNW可以在本示例代碼的如下位置獲得:
<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107031954497942.png"></a>
資料庫對應關系如下(由于資料庫相對簡單,是以直接列出資料,從資料可以直覺看出兩表的關系):
<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/2011070319545026.png"></a>
二:生成POCO及DbContext
三:主表從表資料一起關聯查詢
資料庫中存在存儲過程GetCategory:
<a href="http://www.cnblogs.com/luminji/archive/2011/07/04/2096896.html#">+ View Code</a>
執行此存儲過程的代碼如下:
得到的資料如下:
<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107031954528763.png"></a>
其中,Category所對應Products是延遲加載進來的,如果我們隻使用Category,資料引擎就不會查詢Products表的資料,但是,隻要我們一到Category中檢視Products,就會擷取如上圖這樣的Products資料。請根據源碼中的兩個資料實體了解。
執行存儲部分的代碼EF為我們生成如下:
延遲加載部分的代碼EF為我們生成如下:
三:僅擷取主表資料
如果不需要關聯表的資料,我們可以像下面這樣編碼。以下這段代碼使用的是和上文一樣的存儲過程:
擷取資料如下:
<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107031954545090.png"></a>
四:由從表關聯主表資料
從表關聯主表的存儲過程如下:
注意,原始例子所帶的存儲過程不是這樣的,多了這樣的語句:
<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107031954551111.png"></a>
DbContext預設支援實體類型的字段和資料庫視圖是一個字段名,是以我們去掉了重命名部分。
實作此功能的代碼如下:
要注意,主表的資料也是延遲加載的,隻有使用到的時候才會被查詢。
EF為我們生成的代碼如下:
擷取的資料如下:
<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/20110703195457371.png"></a>
本文轉自最課程陸敏技部落格園部落格,原文連結:http://www.cnblogs.com/luminji/archive/2011/07/04/2096896.html,如需轉載請自行聯系原作者