簡體   English   中英

Asp.net MVC DB 第一種方法 - 遷移

[英]Asp.net MVC DB First Approach - Migrations

對於我過去的 Asp.NET MVC 項目,我使用 Code First 方法來創建我的 web 應用程序。

這里我有一個新的,有一個舊系統,已經創建了 SQL 服務器數據庫。

我需要為現有數據庫重新創建一個系統。

所以我開始使用數據庫優先方法。

我連接到根據表格生成的數據庫和模型和數據集。

所以我想知道如果我想在我之前使用的表中添加一列,在 model 上更新它,然后遷移並更新數據庫。

所以我不能在這里使用它,對嗎?

如果我想更改某些內容,我必須從 SQL 服務器端的數據庫中更改它,然后我如何在我的項目中更新它?

就個人而言,我發現他們的數據庫結構在某些情況下有些錯誤。

但是表上已經有 5000 多個數據,他們不想丟失它,或者他們沒有同意為他們的操作維護兩個數據庫。

對此問題的想法受到高度贊賞。

所以我在這里所做的是,我最初在將更改應用於實體之前創建了一個遷移。 然后,我刪除了初始遷移腳本中的代碼。 例如

public partial class InitialDbCreate : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {

    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {

    }
}

這樣它就不會將實體/表重新創建到現有數據庫中,並且您現在在對實體應用新更改時不會遇到問題。

這是一個非常常見的場景。 Microsoft 將其稱為Code First with Existing database。 您創建從數據庫構建 model 的腳手架。 您可能希望應用約束並總體提高數據庫中的引用完整性,並多次搭建 model。

一旦您對 model 感到滿意 - 您停止在數據庫中進行更改,您將切換到代碼優先方法,您可以在其中對代碼進行所有更改。 創建遷移並將遷移應用到數據庫。

我認為,Database First 指的是早期版本的實體框架中創建.edmx文件的方法。 我認為這種方法在今天是不可能的。 當然不推薦

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM