質問: Entity Framework Coreでは、異なる移行に同じ名前を付けることはできません。タイムスタンプは常に異なるため、名前は異なりますが。エラーは次のとおりです。 ``` The name '_' is used by an existing migration. ``` 以前のバージョンのEF(.NET Framework)ではこれが可能でした。
回答: > タイムスタンプは常に異なるため、名前は異なりますが > > これは完全には正しくありません。移行の名前にはタイムスタンプが使用されていますが、生成された移行クラス自体の名前はタイムスタンプのない名前になります。 この名前は内部で生成されCSharpMigrationsGeneratorの使用クラスICSharpHelper.Identifierを 。このインターフェースを実装するインスタンスは、独自のコードで実装をオーバーライドする能力を持つように思われる依存性注入を使用して注入されます。移行ツールを使用するか、アプリケーションコードからそれを実行します。 そして、たとえあなたがこの部分を克服することに成功したとしても、あなたが扱う必要があるだろう他の内部のものがあります。たとえば、 IMigrationsAssembly.Migrationsにはタイムスタンプ部分を除いた移行の名前も含まれているため、辞書では重複キーを許可しないため、名前を一意になるように調整する必要があります。 要約すれば、それは可能かもしれませんが、EFコアの現在のバージョンでの努力の価値があるようには思えません。