天天看點

Entity Framework 實體架構的形成之旅--幾種資料庫操作的代碼介紹(9)

本篇主要對正常資料操作的處理和實體架構的處理代碼進行對比,以便更容易學習了解實體架構裡面,對各種資料庫處理技巧,本篇介紹幾種資料庫操作的代碼,包括寫入中間表操作、聯合中間表擷取對象集合、遞歸操作、設定單一字段的修改等幾種方式。

一般情況下,我們可以通過執行資料庫腳本方式寫入。

上面間接用來執行腳本方式寫入中間表資料;但是,如果我們采用Entity Framework的方式來處理,也是可以的,例如我們為角色添加和移除使用者的代碼如下所示。

如果我們需要重新寫入中間清單的資料,那麼處理方式如下所示。

一般情況下,我們在資料通路層需要結合中間表進行查詢的時候,常用的處理方式是在SQL語句裡面聯合兩個表進行處理。如聯合機構角色中間表、機構使用者中間表來擷取對應機構的清單操作如下所示。

如果是在實體架構裡面,我們不能那麼直接操作SQL語句,盡可能用内置的LINQ查詢操作,使用的時候,你也發現很簡單的。

很多時候,我們表的資料是有層次結構的,有時候,需要根據父ID擷取下面的子集清單的時候,我們就需要用到遞歸。正常的SQL處理方式,可以如下實作。

如果這樣的實作,在實體架構實作,那麼應該如何處理呢?

是不是覺得簡單很多了呢?

有時候,我們可能需要更新清單裡面的某些字段,那麼如果采用SQL操作處理,那麼代碼如下所示。

如果是采用實體架構,那麼處理代碼如下所示。

如果更新多個字段,那麼正常的SQL方式代碼如下所示。

多個字段的更新,使用實體架構則是如下所示。

這個系列文章如下所示:

<a href="http://www.cnblogs.com/wuhuacong/p/4336248.html">Entity Framework 實體架構的形成之旅--基于泛型的倉儲模式的實體架構(1)</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4338564.html">Entity Framework 實體架構的形成之旅--基類接口的統一和異步操作的實作(3)</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4338982.html">Entity Framework 實體架構的形成之旅--實體資料模型 (EDM)的處理(4)</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4372674.html">Entity Framework 實體架構的形成之旅--Code First模式中使用 Fluent API 配置(6)</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4449059.html">Entity Framework 實體架構的形成之旅--資料傳輸模型DTO和實體模型Entity的分離與聯合</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4513376.html">Entity Framework 實體架構的形成之旅--界面操作的幾個典型的處理(8)</a>

<a href="http://www.cnblogs.com/wuhuacong/p/4569626.html" target="_blank">Entity Framework 實體架構的形成之旅--幾種資料庫操作的代碼介紹(9)</a>