關於在ASP.NET MVC4.5中使用ef框架的若干問題

當初寫這個功能的時候遇到不少坑,特此留念

(1)關於連接的建立

首先,需要在web.config中添加數據庫連接:

  <connectionStrings>
    <add name="itemEntities" providerName="System.Data.SqlClient" connectionString="Data Source=localhost;Initial Catalog=item;Integrated Security=True" />
  </connectionStrings>

然後是添加這段:

<entityFramework>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
</entityFramework>

最後右鍵項目,點擊“管理NUGet”,從裏面下載EntityFramework的dll

這樣就大功告成了。

當然,如果是通過直接添加ADO.NET實體數據模型的新建項的話,以上步驟可以省略,但是我更習慣將數據庫的操作獨立封裝爲一個類庫,然後在主程序中添加對類庫的引用

 

(2)關於code first的數據表的更新

關於這部分看了微軟的官方文檔,但是感覺比較簡略,很多我關心的地方都沒寫;後來又看了一些別人寫的博客,但感覺廢話太多了,而且和微軟一個尿性,基礎的常用功能沒講,反而各種高級功能和廢話一大堆。所以這裏我只講一些最基礎的功能,關於code first的實體框架怎麼建立我這裏就不講了,自己去搜。

 

數據表的更新可以設置爲自動更新,但默認設置是手動更新。

手動更新:

(1)打開程序包管理器控制檯後,輸入這一句:

enable-migrations

以啓用遷移

然後在實體類裏隨便改改,比如添加一個字段“test”:

然後繼續往控制檯輸入:

add-migration MyDB

這個“MyDB”是我亂打的

回車後是這樣:

最後繼續輸入:

update-database -Verbose

這個“-Verbose”參數可以輸出sql語句執行的過程,調試的時候很有用

結果是這樣:

這樣就成了,關於刪除和修改的方法也是和這個一樣。

 

自動遷移:

關於自動遷移的操作比較簡單,控制檯裏有時也會有這樣的提示:

根據這個提示找到相應的類,並修改代碼如下:

其實說起來下面那一行代碼也是不需要的,但我這裏還是加上去了,關於他的作用可以看看代碼提示

這樣改完了以後就可以省略掉add-migration MyDB  這一句代碼,直接打update-database這句了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章