質問: メソッドがEF7 Beta 8で変更されました: ``` protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .Index(u => u.Nickname) .Unique(); } ```
回答: 私はデータを使って`Index`を作成するのは恐れています。アノテーションはまだEF 7ではサポートされていません。このリンクを確認してください 。 私はまた、最後のリリースでそのテーマに関連する情報を見つけようとしましたが、何も見つかりませんでした。 EF 7 beta 8リリースノート EF 7 RC1リリースノート 私は今、EF開発者の1人(ダイブガ)からのポストを見つけました: > EF7では、流暢なAPIを使用してインデックスを定義することをサポートしていますが、少なくともまだ属性は定義していません。あなたがおそらく参照しているIndexAttributeは、ある時点でEF 6.xパッケージに追加したものですが、決して本当に標準のDataAnnotationにはなりませんでした。 > > EF6の元の属性をそのままコピーすることは望ましくありません。変更する項目がいくつかあるからです。また、DataAnnotationsを直接EF7パッケージに追加するよりも意味があります。 EF7 RTMの時間枠にIndexAttributeを追加することはほとんどありません。 > > アップデート1 明らかに、これは少なくとも今のところ、EFコアに追加されない機能です。 EF Coreのドキュメントから: > データ注釈を使用してインデックスを設定することはできません。 > > しかし、あなたはFluent Apiを使ってそれを行うことができます: ``` protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .HasIndex(b => b.Url) .HasName("Index_Url"); } ```