【发布时间】:2010-07-15 15:45:30
【问题描述】:
目前,对数据库的更改是通过 SQL Server 管理程序进行的。如果表发生更改,则运行 sqlmetal 以重新生成 linqtosql 类并继续开发。但是,这使部署变得很痛苦,因为您必须手动更新部署数据库(以及开发周期中使用的任何其他数据库)。如果我们可以使用 C# 来生成这些更改,那就太好了,因为这将有助于消除人为错误并具有能够将数据库结构保留在 git 中的额外好处。现在,数据库的唯一表示是在生成的 linqtosql 类中。
我一直在寻找一个可以处理这类事情的好库,但主要的解决方案似乎是:保留一个 sql 生成脚本,或者将 sql 嵌入到可以运行的 C# 类中以对数据库。这两种情况似乎都不是理想的情况,因为您失去了 C# 提供的良好的强类型。似乎应该有一种方法可以使用纯 C# 来做到这一点。
我已经看到了能够使用实体框架和 linqtosql 从 POCO 生成数据库的提示,但我很难找到正在使用的具体示例。此外,我无法发现它们是否有一种优雅的(即数据保存)方式来处理初始表生成后对数据库的更改。
有没有解决这个问题的项目?
【问题讨论】:
标签: c# .net sql-server database