gpt4 book ai didi

entity-framework - 使用代码优先迁移与 Entity Framework 和 SQL Server 时如何创建聚集索引

转载 作者:行者123 更新时间:2023-12-04 01:36:43 24 4
gpt4 key购买 nike

我有一个 MessageModel带有消息创建时间的时间戳属性。我想在这个长属性上创建一个聚集索引。我希望在执行查询以获取比某个时间戳更新的所有消息时实现查询加速。时间戳值在创建后永远不会改变。我目前在 int Id 上有一个常规索引属性。

如何在 ASP.NET MVC 4.5 中使用 Entity Framework 代码优先迁移在模型属性上添加聚集索引?

最佳答案

更新 :EntityFramework 6.1 引入了 [Index]可用于在任意字段上指定索引的属性。例子:

public class MessageModel 
{
[Index(IsClustered = true, IsUnique = false)]
public long Timestamp { get; set; }
}

对于旧版本的 Entity Framework ,我将在下面留下我的原始答案:

不幸的是 EF doesn't really provide much support for indexes .解决此问题的最佳方法取决于您正在执行的迁移类型。如果您不使用自动迁移并且想要向新表(即您有迁移的表)添加索引,那么您可以修改迁移中生成的 CreateTable 语句以添加索引。此技术用于 one of the Entity Framework tutorials (搜索索引找到它)

如果您使用自动迁移(或表已经存在),那么您仍然可以使用旧式 SQL 来创建索引 - 生成迁移,然后修改您的代码以包含一个普通的旧 CREATE INDEX陈述。

关于entity-framework - 使用代码优先迁移与 Entity Framework 和 SQL Server 时如何创建聚集索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16250727/

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