EntityFrameworkの移行:AlterColumnDateTimeからDateTimeOffset

スポーツ

「コードファースト」EFアプローチでは、プロパティのタイプを変更しました。

前:

 DateTime Date { get; set; }

後:

 DateTimeOffset Date { get; set; }

そして、私は(パッケージマネージャーコンソール)を実行しました:

Add-Migration Foo

このコードを作成したのは:

public partial class Foo : DbMigration
{
    public override void Up()
    {
        AlterColumn("dbo.Foos", "Date", c => c.DateTimeOffset(nullable: false, precision: 7));
    }

    public override void Down()
    {
        AlterColumn("dbo.Foos", "Date", c => c.DateTime(nullable: false));
    }
}

しかし、これは更新の実行時に機能しません(パッケージマネージャーコンソール):

Update-Database

エラー:

エラー番号:5074、状態:1、クラス:16オブジェクト「DF__Foo__2B2A60FE」は列「日付」に依存しています。ALTER TABLE ALTER COLUMN 1つ以上のオブジェクトがこの列にアクセスしたため、日付が失敗しました。

どうすればこれを解決できますか?他の部分ではこの列を参照していません(インデックスはありません)

スポーツ

Ivan Stoevがコメントで述べたように、これはEF 6.2にアップデートすることで修正されます(私はEF 6.1.3を使用していました)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事