【发布时间】:2010-05-05 13:36:28
【问题描述】:
我最近开始了一份新工作,一个非常有趣的项目(C#、.Net 4、Linq、VS 2010 和 SQL Server)。马上我就遇到了一个非常令人兴奋的挑战:我必须在程序启动时实现一个新工具或集成逻辑,或者其他什么,但必须发生的事情如下:客户有以前的应用程序和数据库(充满了他们的特定数据)。现在一个新版本已经准备好,客户得到了更新。与此同时,我们对 DB 进行了一些修改(新表、列,可能删除了旧列,或其他)。我是 Linq 和 SQL 数据库的新手,我的第一个解决方案可能是:我检查应用程序/数据库版本并逐步实施所有更改,比较所有表、列、键、约束等(所有这些新信息我有我的 dbml 和我从现有数据库中询问的旧版本)。每次版本更改时我都会这样做。但不知何故,我觉得这不是一个聪明的解决方案,所以我寻找这个问题的通用解决方案。
有没有办法从 dbml 文件更新客户数据库?创建一个新的不是问题(CreateDatabase with DataContext),有没有更新/改变数据库的方法?我想我不是唯一一个寻找这种解决方案的人(我在互联网上一无所获——或者我在寻找错误的关键字)。你是如何解决这个问题的?我也在寻找一个外部工具,但首先是使用 C#、Linq 或类似工具的解决方案。 如有任何想法,请提前感谢您!
最好的问候, 埃米尔
【问题讨论】: