我已经阅读了很多关于如何为开发人员升级数据库等的问题,并且我倾向于使用migratordotnet或类似的东西,但似乎升级需要使用 MSBuild 或 NAnt 之类的东西来运行。这些不是我期望最终用户安装的东西。
理想情况下,这个过程应该是用户安装新版本的应用程序,启动它,它会处理幕后的一切。根据这个过程需要多长时间,我可能会或可能不会显示进度条,然后它就完成了,使用该应用程序通常会幸福地不知道有诸如 sql、msbuild、关系数据库之类的东西,甚至是任何远程技术探测的东西。
其他杂项信息:
安装了 xcopy 的 SQLCE。
很可能不应该太大的单用户数据库。
随着程序通过用户对请求功能的输入而不断发展,发布将相当频繁。
初始版本尚未完成,因此无需担心任何当前数据,只需要初始和后续版本的无痛过程(对于最终用户,最好对我来说也是如此!)。
使用 LINQ to SQL 作为 ORM。(我是否先升级数据库然后
运行 SQLMetal 来重新生成
类?)
做 TDD(第一次)并想知道如何自动化测试升级。
Visual C# Express 所以没有 VS 插件。
编辑:
我猜 MSBuild 附带 .NET Framework 而不仅仅是 VS,所以我想这不是问题,我可以使用 migratordotnet 并直接使用 msbuild。如果需要,我可能会重定向控制台输出并进行一些简单的字符串解析以获取进度信息,但如果它看起来需要足够长的时间来保证显示实际进度而不仅仅是一个选框进度条,我会诉诸于此。