如何使用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?
本文介绍了如何使用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屋!
查看全文