0
我想了解遷移。我有AutomaticMigrationsEnabled = true;並創建了初始遷移。Azure實體框架AutomaticMigrationsEnabled更改數據類型不會更新數據庫類型
如果我添加一個新的DBSet到DBContext併發布這個服務,那麼數據庫被更新爲一個對應的新表。但是,如果我更改實體類中屬性的數據類型,例如將StatusID從int更改爲下面示例中的字符串,併發布服務,則相應的列數據類型不會在數據庫中更新。
如果AutomaticMigrationsEnabled = true,那麼爲什麼在這種情況下數據庫不會自動更新?
感謝
namespace myService.DataObjects
{
public class Status : EntityData
{
public int StatusID { get; set; }
public string Description { get; set; }
}
}
public class myServiceContext : DbContext
{....
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
SetSqlGenerator("System.Data.SqlClient", new EntityTableSqlGenerator());
}
您是否遇到過每個屬性的這個問題,或僅僅是StatusID? 像這樣更改列類型通常涉及刪除和重新創建列。 StatusID是你的PK,但是在Azure SQL中(我猜根據你使用Azure SQL的標籤)沒有PK就沒有表。即使PK正在進行更改操作。 你有沒有在你的日誌中看到任何錯誤? –
StatusID不是主鍵,因爲我從EntityData類繼承,主鍵是來自EntityData類的ID。我會嘗試更改其他屬性,但現在我覺得它處於不穩定狀態,我需要重置遷移以真正測試它,但我猜測它正在發生在所有屬性上。我一直有問題保持同步,一分鐘似乎工作,然後彈出一個這樣的問題。 –
好吧,它現在對我來說是工作的,我不確定我是否看到過去或過去的事情,但我會將其標記爲已回答。感謝您花時間在此 –