代码之家  ›  专栏  ›  技术社区  ›  Serge Wautier

visualstudio中的数据库设计策略

  •  2
  • Serge Wautier  · 技术社区  · 14 年前

    我正在调查ASP.NETmvc2和linqtosql。一切看起来都很酷。但是我有一些应用程序和开发生命周期的问题。

    然后通过删除和重新导入修改过的表来更新DBML文件。

    问题:

    1. 如果我想要一个SQL脚本来部署我的数据库(或者让架构处于源代码管理之下),我需要使用“generate script”SSMS向导,如果a)它能记住我的设置,b)它能自动运行,那就很酷了。

    我是否应该反过来工作(从DBML开始生成DB)?我是否应该使用其他框架(NHibernate)?我可以用一些林克香精吗?)

    此外,我还了解到,LINQ2SQL已经过时,取而代之的是linqto实体。这是否意味着,最终的工具,应该让我的生活这么好,会再次让我失去时间在长期?

    谢谢你给我点启示。

    4 回复  |  直到 14 年前
        1
  •  2
  •   JcMaltaDev    14 年前

    如果您是从头开始DB模式,您可以考虑“ Code-First Development with Entity Framework 4" 如斯科特古所述。

    我已经在一个新项目中使用了它,并且发现它非常有益——特别是对于测试。

    我从表示我的数据的简单POCO类开始,然后随着项目的进展,我将允许EF4使用我的“内存中”示例数据生成“真实”DB的模式。。。现在我混合使用内存POCO(用于开发和TDD)和自动生成的DB模式(自动加载更“真实”的数据)进行演示等等。。。到目前为止我很高兴。

        2
  •  0
  •   Kirk Broadhurst    14 年前

    对于LINQ2SQL以及它是“过时”还是“停产”有很多看法。但是它仍然在.NET框架中,是一个很好的工具,因此如果它适合您的需要,那么您应该使用它。坦率地说,实体框架仍然不完美,如果您不需要它提供的额外灵活性,那么就不值得为此付出代价。如果我有一个小到中型的项目,那么我肯定会再次使用LINQ2SQL(而不是EF)。

    至于您的问题,是的,当您删除并重新添加一个表时,您将丢失任何名称或不同的类型映射。我知道的选择是

    1. 仅删除/重新添加已更改的表(不是所有表)

    我喜欢jcmata的建议,即在呈现到数据库之前将对象创建为类,但是如果您发现sqlstudio开发起来很快,那么创建表可能是最快的,因为可以将它们放到DBML中。在数据库中更改某些内容并将更改推送到代码中是一件很烦人的事情,但是代码生成工具非常好,可以消除大部分的痛苦。

        3
  •  0
  •   Guillaume86    14 年前
        4
  •  0
  •   Serge Wautier    13 年前

    作为后续,只想说我最终找到并爱上了她 Huagati DBML/EDMX Tools .

    说实话,我得说自从我买了它以后,价格已经大幅度上涨了。不管怎样,我相信它还是值得的。

    对于那些正在为MySQL(或其他)寻找同类工具的人来说, DevArt 他是你的朋友。