实体框架Fluent API - 创建筛选索引

时间:2017-12-26 03:18:24

标签: sql .net database entity-framework indexing

我在EF Code FIrst中寻找一种方法来获得一个唯一的索引,它允许多个NULL值。

Here我找到了一种可能的解决方案,创建了一个过滤索引,该索引将排除空值并仅验证 NULL值的唯一性。

我需要执行的SQL是

CREATE UNIQUE INDEX indunique 
ON testunique(value) 
WHERE value IS NOT NULL

其中testUnique是表格,indunique索引名称和value我想要唯一的列,允许NULL值。

因此,实现此目的的方法是在自定义DatabaseInitializer的覆盖Database.ExecuteSqlCommand()方法中调用Seed()并传递上述命令。

但有没有办法通过Fluent-API或数据注释实现此索引?

要使用

实现唯一约束
modelBuilder.Entity<Transmitter>.HasIndex(t => t.MeasureCellId).IsUnique(True) 

但我该如何实施过滤器?

0 个答案:

没有答案