使用新的架构更改更新 LinqtoSql 数据库?

Posted

技术标签:

【中文标题】使用新的架构更改更新 LinqtoSql 数据库?【英文标题】:Update LinqtoSql database with new schema changes? 【发布时间】:2011-12-20 04:52:37 【问题描述】:

我有一个已发布到市场的 Windows Phone 7 应用程序。我将 Sql CE 与 LinqToSql 一起使用。当应用程序运行时,它会根据连接字符串检查数据库是否存在,如果不存在则创建。

using (CheckbookDataContext db = new CheckbookDataContext(DBConnectionString))

    if (!db.DatabaseExists())
    
        isNewLoad = true;
        db.CreateDatabase();
    

当我开始规划新功能时,我预见到数据库架构会发生一些变化,无论是向现有表添加新列还是添加新表等。

如何更新现有的数据库?既然数据库已经存在,我是否必须手动执行 ALTER 和 CREATE 表语句才能进行调整?

【问题讨论】:

【参考方案1】:

查看 Window Phone 的本地数据库迁移概述。 http://msdn.microsoft.com/en-us/library/hh394018(v=VS.92).aspx

还有……

http://msdn.microsoft.com/en-us/library/microsoft.phone.data.linq.databaseschemaupdater(VS.95).aspx

【讨论】:

这太好了,德里克。感谢您的链接!有时这是搜索词的问题。我从来没有想过“迁移”数据库。 我也刚刚从 MSDN 找到了这个示例。同日发布。 msdn.microsoft.com/en-us/library/hh394022(v=vs.92).aspx。包含一些不同场景的完整演练。

以上是关于使用新的架构更改更新 LinqtoSql 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

使用LINQ访问数据库

从对象定义生成数据库表

在 Visual Studio 2012 数据库项目中更新数据库架构

LinqToSQL 和审计更改的字段

LINQ更新:找不到行或行已更改

typeORM 未发现数据库架构更改 - 无法生成迁移。要创建新的空迁移,请使用“typeorm migration:create”命令