Entity Framework 的簡單介紹與實例

来源:http://www.cnblogs.com/cnwisdom/archive/2016/05/27/5534499.html
-Advertisement-
Play Games

<!--[if !supportLists]-->1、<!--[endif]-->下載與引用 <!--[if !supportLists]-->a) <!--[endif]-->首先需要下載一個oracle clinent 12c 發行版(我這邊下載的是發行版)併進行安裝,下載內容如下圖 B) 創建 ...


1、下載與引用

a) 首先需要下載一個oracle clinent 12c 發行版(我這邊下載的是發行版)併進行安裝,下載內容如下圖

 

B) 創建一個項目,通過Nuget引用  添加ODP.NET   如圖

 

 

 

2、創建資料庫

  對於oracle是資料庫的創建,在這裡就不介紹了。略

 

 

3、對創建好的資料庫進行EF引用,並讓其生成對應的model文件。

  a) 首先添加一個ADO.NET實體數據模型,如圖

 

B) 修改好相對應的類的名字(該類自動繼承與DBContext類),點擊添加,選擇【來自資料庫的code first】 如圖

C) 配置一個oracle的資料庫連接  (如在數據源選擇沒有oracle選項,則你的oracle client 12c 未安裝成功)   如圖

 

D)選擇好相應的資料庫連接後,點擊下一步,會出現一個實體資料庫模型嚮導,如圖

在這個過程中,也許會碰到一個問題,會提示你如下錯誤:

在網上查找了相關的原因,也無法解決。  我的處理方式是運行了下該項目,再次重覆以上添加ADO.NET實體模型的步驟,就不會出現此錯誤。具體原因我還無法解釋。

E) 接下來是選擇相對應的表,生成對應的實體類與映射。

在此期間,我會出現一個問題,如果我未選擇全部表,點擊完成時,並未生成相對應的實體類與映射,如果我選擇全部表,就可以生成。 如圖

(紅色的為實體類,藍色的為映射關係)

Model1.cs類如下

 

實體類 xiaoheis.cs 如下

4、增刪改查

       A)首先我們先查詢下 TESTs這張表總共有幾條數據  代碼如下

         

         運行結果:(由於我之前在表中就有數據,所以顯示結果為條數,如果沒有添加過的結果應該是0

          

         B) 對於表TESTs 進行添加數據,然後再進行查詢,是否條數有變化,代碼如下

          

          測試結果如圖:

 

 

           

           可以看到結果,明顯是加了一條數據。說明添加是成功的。其他的一些方法,就不做說明瞭。

 

 

 

 

 

 

 

 

EF學習與介紹

 

 

1、下載與引用

a) 首先需要下載一個oracle clinent 12c 發行版(我這邊下載的是發行版)併進行安裝,下載內容如下圖

 

 

B) 創建一個項目,通過Nuget引用  添加ODP.NET   如圖

 

 

2、創建資料庫

     對於oracle是資料庫的創建,在這裡就不介紹了。略

3、對創建好的資料庫進行EF引用,並讓其生成對應的model文件。

a) 首先添加一個ADO.NET實體數據模型,如圖

 

B) 修改好相對應的類的名字(該類自動繼承與DBContext類),點擊添加,選擇【來自資料庫的code first】 如圖

 

C) 配置一個oracle的資料庫連接  (如在數據源選擇沒有oracle選項,則你的oracle client 12c 未安裝成功)   如圖

 

D)選擇好相應的資料庫連接後,點擊下一步,會出現一個實體資料庫模型嚮導,如圖

 

 

在這個過程中,也許會碰到一個問題,會提示你如下錯誤:

 

 

在網上查找了相關的原因,也無法解決。  我的處理方式是運行了下該項目,再次重覆以上添加ADO.NET實體模型的步驟,就不會出現此錯誤。具體原因我還無法解釋。

 

E) 接下來是選擇相對應的表,生成對應的實體類與映射。

在此期間,我會出現一個問題,如果我未選擇全部表,點擊完成時,並未生成相對應的實體類與映射,如果我選擇全部表,就可以生成。 如圖

  (紅色的為實體類,藍色的為映射關係)

 

Model1.cs類如下

 

 

實體類 xiaoheis.cs 如下

 

 

4、增刪改查

 

       A)首先我們先查詢下 TESTs這張表總共有幾條數據  代碼如下

 

      運行結果:(由於我之前在表中就有數據,所以顯示結果為條數,如果沒有添加過的結果應該是0

 

     B) 對於表TESTs 進行添加數據,然後再進行查詢,是否條數有變化,代碼如下

 

測試結果如圖:

 

 

可以看到結果,明顯是加了一條數據。說明添加是成功的。其他的一些方法,就不做說明瞭。

 

 

 

      

        

        

 

 

註釋類型名稱

註釋作用

備註

[Key]

主鍵

 

[Required]

必須鍵

Required 特性將使被映射的屬性不可為空來影響生成的資料庫

[MaxLength]

最大長度

 

[MinLength]

最小長度

 

[NotMapped]

不映射到資料庫的屬性

 

[ComplexType]

在子表model中設定

 

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天在幫客戶做語句優化的時候,突然遇到這樣一個語句,類似下麵的例子(原語句是個update) 例子中使用AdventureWorks數據中的兩個表。 productID 是[Production].[Product] 表的主鍵,在[Purchasing].[PurchaseOrderDetail] ...
  • [epeter@ localhost ~]$ 其中:epeter 是用戶名;localhost 是當前主機名; ~ 破浪號代表當前是用戶目錄( 如果是 / 斜線代表當前是根目錄);$ 代表當前以普通用戶登錄(如果是 # 代表當前以根用戶登錄(root用戶或者具有管理員許可權))。 命令由三個部分組成: ...
  • 註意首先要安裝url重定向模塊 https://www.microsoft.com/zh-CN/download/details.aspx?id=7435 然後在web.config末尾添加如下代碼 <system.webServer> <rewrite> <rules> <rule name="H ...
  • 本程式為自己所寫,參考素材包括微軟官方例子和外文資料,自己做了部分的優化。解釋的如果有問題,懇請大家指正. 後臺代碼: XAML界面代碼: ...
  • 1、先解釋一下,什麼叫做動態數據,動態數據指的是,一條數據的格式固定,但數據的條數不固定。 2、應用環境,在一個表格當中如果,現在表格有三行n列,如果你需要在表格第一行後添加同等規格的一行或n行,應該怎麼去做? 3、根據上面的應用環境,不難發現,要完成這項工作的5個過程,1、找到位置。2、獲取模板行 ...
  • 導出時:引用 using Excel = Microsoft.Office.Interop.Excel; #region 讀取excel //打開方法 public DataTable ExceltoDataSet(string path) { string strConn = "Provider= ...
  • 1、 前言 最近剛換了一家公司,由於之前的公司代碼並沒有用到項目框架,需要我整理下NHibernate與Entity Framework之間的區別及適用性。並寫出相關的示例代碼 面試的時候吹的牛,得把他填上啊。 剛剛整完相應的EF code first的示例代碼,需要連接oracle,那個資料庫遷移 ...
  • 偶然在博客園中瞭解到這種技術,順便學習了幾天。 以下是搜索到一些比較好的博文供參考: MEF核心筆記 《MEF程式設計指南》博文彙總 先上效果圖 一、新建解決方案 開始新建一個解決方案Mef,再添加一個winform項目為:MefDemo 如圖: 打開Form1視窗,拉入MenuStrip菜單控制項, ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...