[英]Creating a UNIQUE Filtered Index for NULL values on Entity Framework
我正在尝试使用Entity Framework创建一个具有NULL值的UNIQUE过滤索引的表(例如,允许Null值重复)。
我正在使用Fluent API并拥有此实体属性:
modelBuilder.Entity<Client>().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()创建数据库后添加索引。 希望未来版本能够提供支持。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.