【问题标题】:How do I set Identity seed on an ID column using Entity Framework 4 code first with SQL Compact 4?如何首先使用 Entity Framework 4 代码和 SQL Compact 4 在 ID 列上设置身份种子?
【发布时间】:2012-07-28 17:55:28
【问题描述】:

我在使用代码优先方法在 SQL Compact 4 中的 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);


    }

我已向成员实体添加了一个属性 MemberId 并尝试使用

  context.Database.ExecuteSqlCommand("ALTER TABLE Members ADD MemberId INT IDENTITY(10000,1) PRIMARY KEY");

但我收到一个表只能包含一个身份的错误消息,但我没有设置任何 IDENTITY 所以,Id 列是自动 IDENTITY 吗?

【问题讨论】:

    标签: entity-framework-4 ef-code-first sql-server-ce identity-column


    【解决方案1】:

    我找到了答案here

    context.Database
        .ExecuteSqlCommand("ALTER TABLE Members ALTER COLUMN Id IDENTITY (10000,1)");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多