我最近创建了一个 Azure 移动服务项目(C# 后端)并将其附加到 Azure SQL 数据库。我一直在尝试在该支持数据库上启用代码优先迁移,但是当我尝试更新数据库时它会抛出错误。
我完成了启用迁移的所有常规步骤(Enable-Migrations、Add-Migration)。但是当我尝试更新数据库时,它返回以下错误:
Cannot create more than one clustered index on table 'dbo.Appointments'. Drop the existing clustered index 'PK_dbo.Appointments' before creating another.
为什么会这样?我的数据库中没有任何表,项目几乎是默认的。
最佳答案
关于从自定义实体类派生的一些答案是可行的,但它们不是理想的解决方案。正如 EF 团队(和其他人)所提到的,您只需将此行添加到上下文配置构造函数中即可。
SetSqlGenerator("System.Data.SqlClient", new EntityTableSqlGenerator());
这将消除创建迁移时的错误,并允许您通过 powershell 命令更新数据库。
关于c# - 在移动服务数据库上启用代码优先迁移时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22923672/