gpt4 book ai didi

entity-framework - 带有 CreateIndex 和匿名参数的 EF 4.3 代码迁移

转载 作者:行者123 更新时间:2023-12-04 18:12:34 25 4
gpt4 key购买 nike

我正在尝试使用 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 方法有一个覆盖,它接受一个叫做匿名参数的东西。我真的找不到那么多关于它的信息,所以我尝试了类似的方法:
CreateIndex("Users",
new string[] { "RatingId", "CreatedAt" },
false,
"IX_RatingId_CreatedAt",
new { INCLUDE = "(Id, Email, DomainId)" });

没有异常(exception),但它没有用。

是否可以使用 CreateIndex 方法创建上述索引,还是必须使用 Sql 方法在迁移中写出 T-SQL?如何正确使用匿名参数?

最佳答案

匿名参数旨在特定于提供者。据我所知,MSSQL 提供程序没有使用它们(如果我错了,请纠正我)。

处理包含的列的 CreateIndex 没有内置重载。要么您必须退回到手动 SQL,要么您可以在所有列上创建索引。

CreateIndex("Users",
new string[] { "RatingId", "CreatedAt", "Id", "Email", "DomainId" },
false,
"IX_RatingId_CreatedAt"
);

关于entity-framework - 带有 CreateIndex 和匿名参数的 EF 4.3 代码迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10489743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com