回答

收藏

SQL Azure代码优先迁移-不支持没有聚集索引的表

技术问答 技术问答 231 人阅读 | 0 人回复 | 2023-09-14

我似乎不能优先转移代码来创建它SQL Azure数据库。! i- i; v2 I! L2 K
它总是抱怨SQL Azure缺少对没有聚簇索引的表的支持,而且我找不到周围的方法来创建数据库。5 ?# |- Z* N! H8 ~6 T
注意:8 `  |, r% T6 b2 {8 t$ E  n
我CreateDatabaseIfNotExists在第一次创建数据库时,显然是用来创建更改跟踪表的DropCreateDatabaseIfModelChanges它不能为你做到这一点
+ @4 Z( T& R3 |# N% G# ]                public partial class IUnityDbContext : DbContext                                                                                                                                                                                                                 public IUnityDbContext()       base("Name=IUnityDbContext")                                                                                                                                                                                                                         Database.SetInitializer(new CreateDatabaseIfNotExists[I]();            Database.SetInitializer(new DropCreateDatabaseIfModelChanges[I]();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;public DbSet[U] Users { get; set;         protected override void OnModelCreating(DbModelBuilder modelBuilder)                                                                                                                                                                                                                         modelBuilder.Configurations.Add(new UserMap();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;base.OnModelCreating(modelBuilder);         public partial class Initial : DbMigration                                                                                                                                                                                                                 public override void Up()                                                                                                                                                                                                                         CreateTable(               "dbo.Users",                                                            c => new                                                         ...                    .PrimaryKey(u => u.UserId,clustered: true);                                                             public override void Down()                                                                                                                                                     DropTable("dbo.Users");      如果我尝试`Update-Database,我会得到
* p. T( p4 K  {8 R: W    Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.未创建数据库。6 g( Z) K3 K" F4 y* V8 M) X
更新:3 K1 H4 \6 _- ]- y; c& u
我从头开始,按照本指南启用自动迁移(刮擦数据库,从不存在的数据库开始,不需要从初始迁移中删除上下代码)) l) `# j/ l2 z8 c
这一次,我成功地创建了我的数据库(我以前没有做过),但我没有创建表,我仍然遇到与以前相同的错误,即我不支持没有集群索引的表。# z  A) C0 f' P8 j' Z& S0 }9 C3 a
请指教
' h. i# z2 c1 B1 A" d: @                                                                " ^2 z$ P) Q* [2 g- q
    解决方案:                                                               
8 M" ?" z% ?8 l3 l# T                                                                原来是Entity Framework 6 -Alpha 3中的一个错误。我想我应该提到这一点。
! n: v$ V1 U8 ~9 t) T, Ihttps://codingdict.com/questions/210605
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则