如何在EF5 CodeFirst中修改表格主键不自增
项目中有的数据表主键不是自增属性,但是我们在使用EF5,Framework4.0的时候是没有
DatabaseGenerated的,那么我们怎么在数据库迁移的时候修改主键的属性呢?
我们可以新建一个EntityTypeConfiguration的子类,如下:
public class SongInfoConfiguration:EntityTypeConfiguration<SongInfo> { public SongInfoConfiguration() { Property(p => p.SongID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); } }
当然我们也可以修改Table的名称,也可以设置列的其他属性
ToTable("Categories"); Property(c => c.Name).HasMaxLength(50).IsRequired(); Property(c => c.Description).HasMaxLength(140);
然后在DataContex类中重写OnModelCreating方法
protected override void OnModelCreating(DbModelBuilder modelBuilder) { //base.OnModelCreating(modelBuilder); modelBuilder.Configurations.Add(new SongInfoConfiguration()); //EF6可以生成存储过程 }
在EF6中,我们可以在此方法中创建存储过程。
文章参考: