首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Entity Framework 6 Alpha 2的现有Azure数据库

使用Entity Framework 6 Alpha 2的现有Azure数据库
EN

Stack Overflow用户
提问于 2012-12-14 17:04:24
回答 1查看 318关注 0票数 0

我在azure上有一个需要聚集索引的数据库。我想使用Entity-Framework6Alpha 2,因为我想使用新的异步功能。当我在我的本地机器上使用SQL Express 2012测试它时,一切都很好,但当我在我的azure数据库中尝试它时,我得到了以下错误:

此版本的SQL Server不支持没有聚集索引的表。请创建聚集索引,然后重试。

我不知道该怎么做,因为当我用一个空数据库测试它时,每个主键都是一个聚集索引。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2012-12-14 19:06:37

你会在“Windows Azure上的现有数据库”和EF 6上使用的情况下添加一点澄清吗?首先,你在使用EF CodeFirst,ModelFirst,DatabaseFirst吗?那么如果你真的有现有的数据库,你是如何创建它的呢?DB +模式手动,使用一些向导(SSMS,SQL Azure迁移向导,EF CodeFirst创建它,等等)。这个现有的数据库是如何在Azure中结束的?

然后跟踪完整的错误消息,检查发生错误的表,并在该表上手动添加聚集索引。确实,在SQL Server中创建的每个主键在默认情况下也是群集的。但是如果表是首先创建的,那么主键将作为单独的DDL语句添加(ALTER table ...)它可能不是作为群集创建的。

所以,这条消息很清楚--请先创建聚集索引。找出SQL Azure抱怨的是哪个表,并在其上创建聚集索引。如果没有主键,只需添加一个作为CLUSTERD:

代码语言:javascript
复制
ALTER TABLE [dbo].[Individual]
ADD CONSTRAINT [PK_Individual_CustomerID]
PRIMARY KEY CLUSTERED
(
[CustomerID] ASC
)

如果它有主键-检查包含哪些列,删除它,然后将其重新创建为集群。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13875496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档