我最近采用了一个.Net项目,通过ServiceStack REST API从Microsoft SQL数据库中公开DAOs
。服务器在IIS 7.5上运行
在AppHost.Configure
中创建了完整的数据库模式......
var dbFactory = new OrmLiteConnectionFactory(DI.DefaultConnectionString, SqlServerOrmLiteDialectProvider.Instance);
using (var db = dbFactory.OpenDbConnection())
{
if (!db.TableExists(db.GetTableName<SomeSpecificDAO>())) //Create table if not exists
{
db.CreateTable<SomeSpecificDAO>();
db.Insert(new SomeSpecificDAO { Data = 0, AnotherData = "", AnSoOne = });
}
/// alot more tables follow....
}
当我现在想要扩展DAO
(并因此将新列添加到表中)时,我会在Visual Studio中执行此操作,对其进行测试,如果可行,我将通过以下方式远程添加列现场测试服务器上的Microsoft SQL Server Management Studio,因为我不想丢失数据库中的任何数据。当只添加一列时,这不是很快,如果添加更多的表/列或f.e.它可能非常麻烦。单元格的数据类型已更改。
在Visual Studio和测试系统中更新数据库的最佳做法是什么?是否有可能采用“Code First方法”,我只扩展DAO
然后更新数据库?