我是.NET世界的新手,周五开始使用C#。不过,我对数据库应用程序有一些经验。
我们将使用LINQ-to-SQL进行中型项目。我习惯于从类中生成我的模式,并使用subversion和Ruby的迁移等价物跟踪变化。显然有no easy way to do this with LINQ本身。
因此,我考虑使用Castle Project's ActiveRecord生成架构(并进行一些数据访问),并使用Migrator.NET Tarantino或dbdeploy.net进行架构更新。 (对此有何建议?)
我的主要问题是:如何验证我的LINQ类是否仍与数据库架构匹配?如果模式不匹配,LINQ会抛出异常吗?我可以迭代所有LINQ类并调用一些验证方法吗?
我已经找到了sqlmetal is the way to regenerate the classes。
PS:我们将使用SQL Server(2008或2005)。
答案 0 :(得分:3)
此tool将有助于同步它们,但我不确定它是否会显示差异......但可能会有所帮助。 (:
编辑:正如KristoferA在评论中所说,它确实支持比较(: - 谢谢KristoferA。
答案 1 :(得分:2)
至于:
我习惯于生成我的架构 从班级和跟踪变化
我刚刚向Huagati DBML/EDMX Tools添加了DDL生成功能(今天发布的版本1.47)。如果您已将内容添加到Linq-to-SQL设计器但尚未将它们添加到数据库中,则可以生成DDL diff scripts。