c# - Identity Column not being modified by Entity framework -
the relevant entity follows:
public class fieldbookingdaterange : itimestamps, icreatedby, isoftdeletable { [key, databasegenerated( databasegeneratedoption.none )] public int fieldbookingdaterangeid { get; set; } [required] public virtual fieldbooking fieldbooking { get; set; } public virtual daterange daterange { get; set; } .... } i have database column set identity: true.
if run following auto generated migration on (this should setting column false on identity):
public partial class removeddbgen_fieldbookingdaterange : dbmigration { public override void up() { dropindex("dbo.fieldbookingdateranges", new[] { "fieldbookingdaterangeid" }); dropprimarykey("dbo.fieldbookingdateranges"); altercolumn("dbo.fieldbookingdateranges", "fieldbookingdaterangeid", c => c.int(nullable: false, identity: false)); addprimarykey("dbo.fieldbookingdateranges", "fieldbookingdaterangeid"); createindex("dbo.fieldbookingdateranges", "fieldbookingdaterangeid"); } public override void down() { dropindex("dbo.fieldbookingdateranges", new[] { "fieldbookingdaterangeid" }); dropprimarykey("dbo.fieldbookingdateranges"); altercolumn("dbo.fieldbookingdateranges", "fieldbookingdaterangeid", c => c.int(nullable: false, identity: true)); addprimarykey("dbo.fieldbookingdateranges", "fieldbookingdaterangeid"); createindex("dbo.fieldbookingdateranges", "fieldbookingdaterangeid"); } } it doesn't anything... doesn't fail.
any ideas why isn't working?
sql -verbose output
if exists ( select name sys.indexes name = n'ix_fieldbookingdaterangeid' , object_id = object_id(n'[dbo].[fieldbookingdateranges]', n'u') ) drop index [ix_fieldbookingdaterangeid] on [dbo].[fieldbookingdateranges] alter table [dbo].[fieldbookingdateranges] drop constraint [pk_dbo.fieldbookingdateranges] alter table [dbo].[fieldbookingdateranges] alter column [fieldbookingdaterangeid] [int] not null alter table [dbo].[fieldbookingdateranges] add constraint [pk_dbo.fieldbookingdateranges] primary key ([fieldbookingdaterangeid]) create index [ix_fieldbookingdaterangeid] on [dbo].[fieldbookingdateranges]([fieldbookingdaterangeid])
i think can't remove identity property column once it's set. might able modify automatically generated migration implement workaround.
you can find examples here:
remove identity column in table
if need keep data, remove identity column, need to:
- create new column
- transfer data existing identity column new column
- drop existing identity column.
Comments
Post a Comment