在Entity Framework上为NULL值创建UNIQUE过滤索引

我正在尝试使用Entity Framework创建一个具有NULL值的UNIQUE过滤索引的表(例如,允许Null值重复)。

我正在使用Fluent API并拥有此实体属性:

modelBuilder.Entity().Property(c => c.Barcode) .HasMaxLength(20) .IsRequired() .HasColumnAnnotation( IndexAnnotation.AnnotationName, new IndexAnnotation(new IndexAttribute("IX_ClientBarcode") { IsUnique = true })); 

我发现SQL Server 2008允许对具有过滤空值的唯一列进行此操作:

 CREATE UNIQUE INDEX indexName ON tableName(columns) INCLUDE includeColumns WHERE columnName IS NOT NULL 

这甚至可以实现吗? 因为我使用的是LocalDB。

我认为目前不可能:

http://gavindraper.com/2014/06/26/entity-framework-fluent-api-and-indexing/

我将使用IDatabaseInitializer在使用dbContext.Database.ExecuteSqlCommand()创建数据库后添加索引。 希望未来的版本能够得到支持。