代码要读取数据库表的时候,报错,数据库中已存在 操作的当前表,在自己的环境上不会报错,同事从SVN更新代码,运行就报此错误,求大神解答下,非常感谢!
你是启用了自动迁移功能么?
没有的,Code first 没有使用数据迁移哦 我本来想贴错误代码的,但是需要开通博客才能上传图片,所以办不到了,呵呵。能理解我说的吗?
@小夜1: 你如何知道没有使用数据迁移?
@Launcher: 我是通过sql脚本 叫同事在数据库中执行的,然后我也没有启动数据迁移 Nuget里敲打命令 :)
@小夜1: 把你的 XXXX_DbContext 类的代码贴出来。
@Launcher:
public EntityContext()
: base(ConfigurationManager.AppSettings["db_member"])
{
////this.Configuration.ValidateOnSaveEnabled = false;
Database.SetInitializer<EntityContext>(
new MigrateDatabaseToLatestVersion<EntityContext, MigrationsConfiguration>());
}
public DbSet<VChargeProduct> VChargeProducts { get; set; }
public DbSet<VChargeProductGroup> VChargeProductGroups { get; set; }
public DbSet<VChargeGroupMac> VChargeGroupMacs { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
#region 金额长度及小数点保留位数
modelBuilder.Entity<VChargeProduct>().Property(p => p.Price).HasPrecision(10, 3);
modelBuilder.Entity<VChargeProduct>().Property(p => p.CentCommProfit).HasPrecision(10, 3);
modelBuilder.Entity<VChargeProduct>().Property(p => p.UserProfit).HasPrecision(10, 3);
#endregion
base.OnModelCreating(modelBuilder);
}
没有高亮 莫见怪啊 亲~~
@小夜1:
Database.SetInitializer<EntityContext>(
new MigrateDatabaseToLatestVersion<EntityContext, MigrationsConfiguration>());
修改成:
Database.SetInitializer<EntityContext>(
new CreateDatabaseIfNotExists<EntityContext>());
@Launcher: 我去同事那边测试下 会不会报这个错误先哦 :)
@小夜1: 大神,可以了。谢谢呐~~:)
@小夜1: 现在你应该明白我为什么问你“你如何知道没有使用数据迁移”了吧!
@Launcher: 恩 我那段设置的是使用数据迁移啊