如何解决使用EF 6 alpha3 Code First部署到SQL Azure时出错,并且创建__MigrationHistory表的迁移
这是Alpha 3中的错误-造成不便,敬请见谅。
public class AzuresqlGenerator : sqlServerMigrationsqlGenerator
{
protected override void Generate(CreateTableOperation createTableOperation)
{
if ((createTableOperation.PrimaryKey != null)
&& !createTableOperation.PrimaryKey.IsClustered)
{
createTableOperation.PrimaryKey.IsClustered = true;
}
base.Generate(createTableOperation);
}
}
internal sealed class Configuration : DbMigrationsConfiguration<MyContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
SetsqlGenerator("System.Data.sqlClient", new AzuresqlGenerator());
}
protected override void Seed(MyContext context)
{
}
}
解决方法
我首先使用EF 6 alpha 3代码。当我尝试在运行Update-Database
命令的SQL Azure上创建数据库时,出现以下错误:
此版本的SQL Server不支持没有聚集索引的表。请创建一个聚集索引,然后重试。
我跟踪到__MigrationHistory
表创建sql命令的错误。
CREATE TABLE [dbo].[__MigrationHistory] (
[MigrationId] [nvarchar](255) NOT NULL,[ContextKey] [nvarchar](512) NOT NULL,[Model] [varbinary](max) NOT NULL,[ProductVersion] [nvarchar](32) NOT NULL,CONSTRAINT [PK_dbo.__MigrationHistory] PRIMARY KEY NONCLUSTERED ([MigrationId],[ContextKey])
)
任何人都对如何解决此问题有任何想法?
谢谢,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。