【发布时间】:2010-03-26 08:16:23
【问题描述】:
有一个使用 SQL 数据库的应用程序。该应用程序已经发布,但现在我正在更新。在更新中,我在我的数据库表中添加了一个额外的列。
我已经使用 DataContext.CreateDatabase() 从我的 DMBL 创建了数据库(不是相反,因为我后来发现这是更常见的情况)
我在 LINQ 中有可以更新我的 SQL 数据库方案的工具吗?
【问题讨论】:
有一个使用 SQL 数据库的应用程序。该应用程序已经发布,但现在我正在更新。在更新中,我在我的数据库表中添加了一个额外的列。
我已经使用 DataContext.CreateDatabase() 从我的 DMBL 创建了数据库(不是相反,因为我后来发现这是更常见的情况)
我在 LINQ 中有可以更新我的 SQL 数据库方案的工具吗?
【问题讨论】:
不,对不起。我也想拥有这样的设施。您必须手动升级数据库。
方法如下:
提示:在初始版本之后,我从未使用工具更改我的数据库架构。我总是编写更改脚本并将其放入我的下一个更新脚本中。
不是你问的那样,但这是一个可行的解决方案。
UpdateScript 可能如下所示:
** 伪码**
-- Update to version 2
alter table [MyTable] add newColumn int null
GO
update [MyTable] set [newColumn] = 0
GO
alter table [MyTable] change newColumn int not null
GO
alter procedure spGetDBVersion
as
begin
select 2 as CurrentVersion
end
【讨论】:
如果您更改数据库中的表,您应该从 dbml 文件中删除相应的表。 再次添加它,dbml 文件应该会再次重新生成,这样您的更改才会生效。
【讨论】: