コード ファースト アプローチを使用して、SQL Compact 4 の Id 列に ID シードを設定する際に問題が発生しています。
私はこれを試しました
context.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Members', RESEED, 100001");
しかし、これはSql Compactでは機能しません。
MyDbContext:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
SetupMemberEntity(modelBuilder);
}
private static void SetupMemberEntity(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Member>().Property(m => m.Id);
//.Property(m => m.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
modelBuilder.Entity<Member>().Property(m => m.FirstName).IsRequired();
modelBuilder.Entity<Member>().Property(m => m.LastName).IsRequired();
modelBuilder.Entity<Member>().Property(m => m.PinCode).IsRequired();
modelBuilder.Entity<Member>().Property(m => m.Email);
//modelBuilder.Entity<Member>().Property(m => m.DateCreated).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
//modelBuilder.Entity<Member>().Property(m => m.DateModified).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
}
Memberエンティティにもう1つのプロパティMemberIdを追加し、使用しようとしました
context.Database.ExecuteSqlCommand("ALTER TABLE Members ADD MemberId INT IDENTITY(10000,1) PRIMARY KEY");
しかし、テーブルには 1 つの ID のみを含めることができるというエラー メッセージが表示されますが、IDENTITY を設定していないので、Id 列は自動 IDENTITY ですか?