如何使用SQL Compact 4首先使用Entity Framework 4代码在Identity列上设置Identity种子? [英] How do I set Identity seed on an ID column using Entity Framework 4 code first with SQL Compact 4?

查看:117
本文介绍了如何使用SQL Compact 4首先使用Entity Framework 4代码在Identity列上设置Identity种子?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我已经尝试过这个

  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>() (m => m.Id);
//.Property(m => m.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
modelBuilder.Entity< Member>() m => m.FirstName).IsRequired();
modelBuilder.Entity< Member>()。Property(m =>名字).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 ) 首要的关键); 

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

解决方案

我发现答案这里

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


I am having some problem setting the Identity Seed on the Id column in SQL Compact 4 using the code first approach.

I have tried this

context.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Members', RESEED, 100001");

but this is not working in 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);


    }

I have added one more property MemberId to the Member entity and have tried to use

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

but I get error message that a table can only contain one identity, but I havent set any IDENTITY so, is the Id column auto IDENTITY ?

解决方案

I found the answer here:

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

这篇关于如何使用SQL Compact 4首先使用Entity Framework 4代码在Identity列上设置Identity种子?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆