加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

实体框架 – 实体框架多对多聚类与非聚集索引

发布时间:2020-12-12 06:38:26 所属栏目:MsSql教程 来源:网络整理
导读:我设计了一个实体数据模型,它有两个实体,它们之间存在多对多的关系.当我自动生成SQL代码以生成此模型的数据库时,它生成了一个表(两列)来跟踪这种多对多关联.但是,此表在两列上都有一个PRIMARY KEY NONCLUSTERED. 既然我希望这个可以在SQL Azure上工作,它不喜
我设计了一个实体数据模型,它有两个实体,它们之间存在多对多的关系.当我自动生成SQL代码以生成此模型的数据库时,它生成了一个表(两列)来跟踪这种多对多关联.但是,此表在两列上都有一个PRIMARY KEY NONCLUSTERED.

既然我希望这个可以在SQL Azure上工作,它不喜欢只有非聚簇索引的表,我想知道是否有一种很好的方法来告诉代码生成生成聚簇索引?谢谢!

解决方法

我有另一个名为Model.indexes.sql的文件,其中包含用于创建超出EF生成的基本索引的脚本的脚本,例如用于性能优化的索引.

虽然这不是理想的,但我在其中添加了一个索引drop并为每个EF关联创建,以将Non-Clustered索引转换为索引索引:

ALTER TABLE [dbo].[MyAssociation]
DROP CONSTRAINT [PK_MyAssociation]

ALTER TABLE [dbo].[MyAssociation]
添加约束[PK_MyAssociation]
PRIMARY KEY CLUSTERED([Table1_Id],[Table2_Id] ASC);

这是在每次“从模型中生成数据库…”之后执行的.我希望有一个更优雅的解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读