public class UserInfoDB : BaseDB { public UserInfoDB() : base(@"Data Source=isostore:\MakeLove\Database\Love.sdf") { if (!this.DatabaseExists()) { CreateDatabase(); //创建数据库时,现将数据库版本号设置为2 DatabaseSchemaUpdater schemaUpdater = this.CreateDatabaseSchemaUpdater(); schemaUpdater.DatabaseSchemaVersion = 2; schemaUpdater.Execute(); } else { DatabaseSchemaUpdater schemaUpdater = this.CreateDatabaseSchemaUpdater(); //数据库变更,之前的数据库未做设置,所以版本号为0 if (schemaUpdater.DatabaseSchemaVersion == 0) //给Account表增加Hidden数据字段 { //添加此列时 IsVip整个列都为空 or可以赋值 schemaUpdater.AddColumn<Setting>("IsOpenAvatarTip"); //并升级数据库版本号 schemaUpdater.DatabaseSchemaVersion = 1; schemaUpdater.Execute(); } } } public Table<Setting> _Setting { get { return GetTable<Setting>(); } } public Table<Users> _User { get { return GetTable<Users>(); } } }
这是数据库增加第一个字段的时候
public class UserInfoDB : BaseDB { public UserInfoDB() : base(@"Data Source=isostore:\MakeLove\Database\Love.sdf") { if (!this.DatabaseExists()) { CreateDatabase(); //创建数据库时,现将数据库版本号设置为2 DatabaseSchemaUpdater schemaUpdater = this.CreateDatabaseSchemaUpdater(); schemaUpdater.DatabaseSchemaVersion = 2; schemaUpdater.Execute(); } else { DatabaseSchemaUpdater schemaUpdater = this.CreateDatabaseSchemaUpdater(); //数据库变更,之前的数据库未做设置,所以版本号为2 if (schemaUpdater.DatabaseSchemaVersion < 2) //给Account表增加Hidden数据字段 { if (schemaUpdater.DatabaseSchemaVersion < 1) schemaUpdater.AddColumn<Setting>("IsOpenAvatarTip"); //添加此列时 IsVip整个列都为空 or可以赋值 schemaUpdater.AddColumn<Setting>("IsMore12Hours"); //并升级数据库版本号 schemaUpdater.DatabaseSchemaVersion = 2; schemaUpdater.Execute(); } } } public Table<Setting> _Setting { get { return GetTable<Setting>(); } } public Table<Users> _User { get { return GetTable<Users>(); } } }
这是增加第二个字段的时候。数据库修改方式
反正就是这样写,我嘴笨不会说