2

私のエンティティは、nullにすることができるプロパティを持っています。しかし、もしそれがヌルでなければ、ユニークでなければならない。つまり、列は一意ですが、複数のNULLが可能です。EFコアでは、一意の列に複数のNULLが含まれていますか?

私が試してみた:

config.Property(p => p.ProductId).IsRequired(false); 

は、私は、これは前のコアEFで仕事を得るのに苦労を忘れないでください。

これは可能ですか?エンティティを設定するにはどうすればよいですか?

答えて

3

(... NULLでない場合)

config.Entity<Product>() 
     .HasIndex(b => b.ProductId) 
     .IsUnique(); 

https://github.com/aspnet/EntityFramework/pull/2868

+0

私はこれがあると仮定し、デフォルトでユニークインデックスを濾過指標として作成されてはい、あなたは、EFコアとそれを行うことができますSQL Serverの場合 - それがSQLiteでもサポートされているかどうか知っていますか? 「フィルタリングされたインデックス」はMSのようですか? – grokky

+0

私はEF Core 1.0.2を使用していますが、これは私にとってはうまくいかないでしょうか? ( "DataModel.Models.Employee"、b => {b.HasIndex( "FingerprintId")、IsUnique();}); SqlException:ユニークなインデックス 'IX_Employees_FingerprintId'を持つオブジェクト 'dbo.Employees'に重複するキー行を挿入できません。重複する鍵の値は()です。 – Lawrence

+0

@Lawrence 1.1.0で私のために働きます – grokky

関連する問題