Entity framework 4 如何首先使用实体框架4代码和SQL Compact 4在ID列上设置标识种子?
使用代码优先的方法在SQLCompact4中的Id列上设置标识种子时遇到一些问题 我试过这个Entity framework 4 如何首先使用实体框架4代码和SQL Compact 4在ID列上设置标识种子?,entity-framework-4,ef-code-first,sql-server-ce,identity-column,Entity Framework 4,Ef Code First,Sql Server Ce,Identity Column,使用代码优先的方法在SQLCompact4中的Id列上设置标识种子时遇到一些问题 我试过这个 context.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Members', RESEED, 100001"); 但这在Sql Compact中不起作用 MyDbContext: protected override void OnModelCreating(DbModelBuilder modelBuilder) {
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);
}
但我收到一条错误消息,一个表只能包含一个标识,但我没有设置任何标识。因此,Id列是否自动标识?我找到了答案:
context.Database.ExecuteSqlCommand("ALTER TABLE Members ADD MemberId INT IDENTITY(10000,1) PRIMARY KEY");
context.Database
.ExecuteSqlCommand("ALTER TABLE Members ALTER COLUMN Id IDENTITY (10000,1)");