0
移行を理解しようとしています。私はAutomaticMigrationsEnabled = trueを持っています。初期移行を作成しました。Azure Entity Framework AutomaticMigrationsEnabledデータ型の変更でデータベースタイプが更新されない
DBContextに新しいDBSetを追加してこのサービスを公開すると、対応する新しいテーブルが疑わしいものとしてデータベースが更新されます。
ただし、エンティティクラスのプロパティのデータ型を変更すると、たとえば、下の例でStatusIDをintからstringに変更し、サービスを公開すると、対応する列のデータ型がデータベースで更新されません。
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はあなたのPKですが、Azure SQL(Azure SQLを使用するタグに基づいて推測しています)では、PKなしではテーブルは存在できません。 PKが変更操作を受けている間でさえも。 ログにエラーがあると思われますか? –
EntityDataクラスから継承しているため、StatusIDは主キーではありません。主キーはEntityDataクラスのIDです。私は他のプロパティを変更しようとしますが、現在は不安定な状態にあるように感じ、実際にテストするためにマイグレーションをリセットする必要がありますが、すべてのプロパティで起こっていると推測しています。私はそれを同期させておく問題を抱えてきました.1分後にはこのような問題が発生しているようです。 –
それは私のために今働いています、私は過去に物事を見ていたかどうか分かりませんが、私はこれを返答としてマークします。この時間を過ごしてくれてありがとう –