gpt4 book ai didi

sql-server - 如何停止EF4.1 Code-First为实体PK创建Culstered索引

转载 作者:行者123 更新时间:2023-12-03 02:48:42 26 4
gpt4 key购买 nike

使用以下简单实体类,EF4.1 Code-First 将在初始化数据库时为 PK UserId 列创建聚集索引。

    public class User
{
[Key]
public int UserId { get; set; }
public int AppId { get; set; }
public string UserName { get; set; }
}

出于性能考虑,我的设计目标是根据AppId而不是PK来保持生成的Users表物理集群。

在我的初始化器类上,我尝试手动删除自动生成的 PK 聚集索引并创建我需要的任何聚集索引,但这里没有任何线索来预测索引的自动生成名称 PK__Users__25518C17!

我是代码优先世界的新手,真的不知道是否有任何解决方法可以实现我的设计目标。

提前致谢

最佳答案

您不需要预测自动生成的索引的名称。您只需要选择索引的名称。对于 SQL Server,您可以使用如下查询:

SELECT I.Name
FROM sys.indexes AS I
INNER JOIN sys.tables AS T ON
I.object_Id = T.object_Id
WHERE I.is_primary_key = 1
AND T.Name = 'Users'

在自定义初始值设定项中获取名称后,您可以更改旧索引并创建新索引。

关于sql-server - 如何停止EF4.1 Code-First为实体PK创建Culstered索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5813190/

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