【问题标题】:How do I verify that my LINQ-to-SQL model matches the database schema?如何验证我的 LINQ-to-SQL 模型是否与数据库架构匹配?
【发布时间】:2010-09-22 19:59:45
【问题描述】:

我对 .NET 世界完全陌生,并于周五开始使用 C#。不过,我对数据库应用程序有一些经验。

对于中等规模的项目,我们将使用 LINQ-to-SQL。我习惯于从类生成我的模式,并使用颠覆和 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)。

【问题讨论】:

    标签: c# sql-server linq-to-sql


    【解决方案1】:

    这个tool 将有助于同步它们,但我不确定它是否会显示差异......不过可能会有一些用处。 (:

    编辑:正如KristoferA 在他的评论中所说,它确实支持比较(: - 感谢 KristoferA。

    【讨论】:

    • 它同时支持更新和比较。您可以通过huagati.com/dbmltools阅读更多内容、下载并获取试用许可证
    • 谢谢 Kieron,我希望能得到更多答案。向我指出 DBML 工具很棒。目前我使用的是 Visual Studio Express,所以我可能必须切换到一些 Pro 版本才能使用该插件。
    【解决方案2】:

    至于:

    我习惯于生成我的架构 从类和跟踪变化

    我刚刚向Huagati DBML/EDMX Tools(1.47 版,今天发布)添加了一个 DDL 生成功能。如果您已将内容添加到 Linq-to-SQL 设计器但尚未将它们添加到数据库中,它可以生成 DDL diff scripts。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多