EF5 DBContext與Entity分離

來源:互聯網
上載者:User

開發環境:vs2012+EF5+Mysql

開發模式:DB first

原始碼下載地址:http://download.csdn.net/download/cdblh/9862768


EF的全稱是Entity Framework,是微軟推出的一款ORM架構,通過物件導向的思想抽象資料庫訪問層,自動產生與資料庫表結構的映射關係。預設產生的.edmx檔案下同時產生了.context.tt和entity.tt檔案,接下來的操作是要講entity.tt的資料實體檔案分離到獨立的類庫項目中去。

一、使用Mysql用戶端建立Coder表,表結構如下:


二、建立空解決方案EF,同時新增兩個類庫項目,分別是EF.DBContext和EF.Entities,如圖所示:

三、右擊DBContext項目,添加-新增項-資料-ADO.NET實體資料模型項目,按以下操作完成:


來自已設計好的資料庫表結構,DB First模式:


完成後,項目結構如下:

四、從ef.dbcontext項目中複製.edmx檔案到ef.entities項目中:

在ef.entities項目中粘貼,完成後如下:

然後刪除如下圖所示被選擇的檔案,因為已經分離了,各自不需要對方的存在:

刪除後,在ef.dbcontext項目中,右擊model1.edmx檔案,屬性視窗中設定產生操作的值為無,目的是為了避免每次產生時,又預設產生相應的資料實體.tt

設定完成後,右擊項目ef.dbcontext重建,此時報如下錯誤:

這是因為之前已刪除預設產生的實體檔案model1.tt,這是該項目需要引用ef.entities,之後產生成功。到此,context與entity已分離到不同的項目中。

五、注意:

當資料庫表結構有更新時,分別在兩個項目中雙擊.edmx檔案開啟,右擊菜單-從資料庫更新模型,這樣在ef.context項目中自動更新.context.tt代碼;在ef.entities項目中自動更新.tt實體類代碼。











聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.