你的自动更新是啥,是指windows的自动更新还是啥更新?我用过EF, 我不知道它有啥自动更新功能.
按你说的,字段的实体是在dll里的,你说的字段消失,是指数据库里的字段,还是实体类里的字段报错说找不到了。如果是数据库,肯定有什么代码把字段删了,如果实体类字段消失,肯定是dll文件被修改了。Model First应该不会改数据库结构才对的。
更改实体类自动更新数据库,不需要手动迁移
AutomaticMigrationDataLossAllowed = true;
AutomaticMigrationsEnabled = true;
@慕容枫: 哦,了解,还是我知道的太少。
@慕容枫: 但是我还是觉得这种编程模式风险很大,建议还是基于数据库比较保险,EF坑也不少。
你就不能add-migration么 关掉自动更新 那个不靠谱的
算了
if ((int)databaseInitializer != 0) { switch (databaseInitializer) { case DatabaseInitializer.CreateDatabaseIfNotExists: Database.SetInitializer(new CreateDatabaseIfNotExists<TContext>()); break; case DatabaseInitializer.DropCreateDatabaseAlways: Database.SetInitializer(new DropCreateDatabaseAlways<TContext>()); break; case DatabaseInitializer.DropCreateDatabaseIfModelChanges: Database.SetInitializer(new DropCreateDatabaseIfModelChanges<TContext>()); break; case DatabaseInitializer.MigrateDatabaseToLatestVersion: Database.SetInitializer(new MigrateDatabaseToLatestVersion<TContext, TMigrationsConfiguration>()); break; } } else { Database.SetInitializer<TContext>(null); }
我十分怀疑你写了初始化没