以前在使用EF都沒用過視圖這種數據形式,最近一個東西數據關聯比較復雜,用視圖來表現數據會方便很多,於是網上找資料,什么中文、英文的,基本都是教你用腳本、寫映射的代碼,就是沒有傻瓜操作,於是便產生了下文,以饗各位觀眾:
一、建立EF模型
這個就不用多說了,我在VS2010中建立個模型:
我的目的就是建立一個以Work表(工作)為出發點的視圖,把一次工作記錄的其它信息也放在視圖中,然后根據EF模型建立數據庫。
二、SQL Server 2008中建立視圖
這部分也是在SQL Server 2008的圖形界面完成的,打開剛才建立的數據庫,點擊視圖,右擊新建,在彈出的窗口中選中要參與到視圖結構的數據表,添加到關系圖中:
然后勾選相應的字段,並設置輸出:
更改視圖“綁定到架構”選項為“是”,更新規范為“是”,保存視圖,命名為Summarys。
三、映射
回到VS 2010來,使用“數據庫更新模型”,只勾選剛才的視圖,更新模型:
於是得到新的Summary視圖映射,這時的Summary實體還不能完成視圖更新的功能,繼續把“編號”外的其它字段的“實體鍵”屬性改為“False”,把“編號”的StoreGeneratedPattern屬性設置為“None”,保存。
經過測試,建立的視圖映射能正常地工作,執行修改、查詢操作,至於插入和刪除,由於各個表的字段限制,不能通過此視圖來完成。當然,只要表中的字段滿足一定條件,數據庫中設計好規則,實際上插入和刪除也是沒有問題的。
轉載請注明原址:http://www.cnblogs.com/lekko/archive/2012/10/31/2746981.html