天天看點

關于Entity Framework采用DB First模式建立後的實體批量修改相關屬性技巧

Entity Framework采用DB First模式建立實體是比較容易與友善的,修改已建立的實體在個數不多的情況下也是沒問題的,但如果已建立的實體比較多,比如10個實體以上,涉及修改的地方比較多的時候,那麼這個時候采用可視化編器就不再那麼友善了,而應該采用以XML的形式來呈現實體資料,然後用我們常用的編輯手段,複制、粘貼、剪切來快速實作批量修改,下面就來說說批量修改的方法:

1.找到Entity Framework采用DB First模式建立的檔案,檔案以.edmx結尾,如下圖示:

關于Entity Framework采用DB First模式建立後的實體批量修改相關屬性技巧

2.選中指定的edmx檔案,點選右鍵,在彈出菜單中選擇“打開方式”,如下圖示:

關于Entity Framework采用DB First模式建立後的實體批量修改相關屬性技巧

3.在彈出的清單中選擇可以以XML編輯的任意方式,然後點選确定,這樣就以XML的形式打開了edmx檔案,如下圖示:

關于Entity Framework采用DB First模式建立後的實體批量修改相關屬性技巧

打開後顯示效果:

關于Entity Framework采用DB First模式建立後的實體批量修改相關屬性技巧

從打開的XML效果以及生成的connectionString字元串我們可以得知,EF DB FIRST建立成功後會生成三個部份的内容檔案:*.SSDL(),*.CSDL,*.MSL,每個部份都有各自的功能,分别是:

SSDL:定義在資料庫内部的一些屬性(例如字段的長度等)

CSDL: 定義業務實體

MSL:定義業務實體與資料庫對象之間的映射

我們可以根據自己的需要來查找及修改或替換相應的資料,然後儲存即可。

我遇到常見的批量修改場景如下:

1.修改資料的Schema,這個可在SSDL中修改完成,如果不采用XML形式修改,則必需全部删除然重後再重新生成實體;

2.修改某個屬性的資訊,比如名稱、類型等;

3.修改實體與資料庫字段的映射關系;

c# EF