實體框架 - 檢視



檢視是一個包含透過預定義查詢獲得的資料的物件。檢視是一個虛擬物件或表,其結果集源自查詢。它與真實表非常相似,因為它包含資料列和行。以下是檢視的一些典型用途:

  • 過濾基礎表的資料
  • 出於安全目的過濾資料
  • 集中分佈在多個伺服器上的資料
  • 建立可重用的資料集

檢視的使用方式與表類似。要將檢視用作實體,首先需要將資料庫檢視新增到 EDM。將檢視新增到模型後,就可以像使用普通實體一樣使用它,但建立、更新和刪除操作除外。

讓我們看看如何從資料庫中將檢視新增到模型。

步驟 1 - 建立一個新的控制檯應用程式專案。

Application Project

步驟 2 - 在解決方案資源管理器中右鍵單擊專案,然後選擇“新增”→“新建項”。

Project Solution Explorer

步驟 3 - 從中間窗格中選擇 ADO.NET 實體資料模型,並在“名稱”欄位中輸入名稱 ViewModel。

步驟 4 - 單擊“新增”按鈕,將啟動實體資料模型嚮導對話方塊。

Add Button

步驟 5 - 選擇“從資料庫中選擇 EF 設計器”,然後單擊“下一步”按鈕。

Entity Model Wizard

步驟 6 - 選擇現有資料庫,然後單擊“下一步”。

Existing Database

步驟 7 - 選擇 Entity Framework 6.x,然後單擊“下一步”。

Entity Framework Next

步驟 8 - 從資料庫中選擇表和檢視,然後單擊“完成”。

Table View

您可以在設計器視窗中看到已建立檢視,並且可以將其作為實體在程式中使用。

在解決方案資源管理器中,您還可以看到從資料庫生成的 MyView 類。

讓我們來看一個從檢視中檢索所有資料的示例。程式碼如下:

class Program {

   static void Main(string[] args) {

      using (var db = new UniContextEntities()) {

         var query = from b in db.MyViews
            orderby b.FirstMidName select b;

         Console.WriteLine("All student in the database:");

         foreach (var item in query) {
            Console.WriteLine(item.FirstMidName + " " + item.LastName);
         }

         Console.WriteLine("Press any key to exit...");
         Console.ReadKey();
      }
   }
}

執行上述程式碼後,您將收到以下輸出:

All student in the database:
Ali Khan
Arturo   finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...

我們建議您逐步執行上述示例,以便更好地理解。

廣告