我正在尝试使用 EF 代码迁移创建索引。索引看起来像:
CREATE INDEX [IX_RatingId_CreatedAt] ON [Users]
(
[RatingId] ASC,
[CreatedAt] ASC
)
INCLUDE (Id, Email, DomainId)
我到目前为止的代码是:
CreateIndex("Users",
new string[] { "RatingId", "CreatedAt" },
false,
"IX_RatingId_CreatedAt"
);
这将为我创建索引,但不包括列。CreateIndex 方法有一个覆盖,它采用称为anonymousArguments 的东西。我真的找不到太多关于它的信息,所以我尝试了类似的方法:
CreateIndex("Users",
new string[] { "RatingId", "CreatedAt" },
false,
"IX_RatingId_CreatedAt",
new { INCLUDE = "(Id, Email, DomainId)" });
没有例外,但它没有工作。
是否可以使用 CreateIndex 方法创建上述索引,还是必须使用 Sql 方法在迁移中写出 T-SQL?如何正确使用匿名参数?