代码之家  ›  专栏  ›  技术社区  ›  EEE

对于三层体系结构,哪一种是最好的;Linq到SQL还是Nhibernate?

  •  2
  • EEE  · 技术社区  · 16 年前

    哪一种是三层拱门的最佳解决方案。Linq到SQL还是Nhibernate? 具体来说,我将把2层体系结构的系统升级为3层体系结构?

    编辑:我在哪里可以找到好的教程或视频?

    6 回复  |  直到 16 年前
        1
  •  4
  •   Wim    16 年前

    如果您只需要支持一个DB平台,并且已经有了数据库模型,那么LINQ到SQL是有意义的。

    但是,您也可以使用FluentNHibernate为您生成映射。

    如果支持多个DB以及对映射的细粒度和灵活的控制很重要,请转到NHibernate。否则,LINQ到SQL就可以了。至少现在要避免像瘟疫这样的实体使用LINQ(v4.0可能会有所改进)。

        2
  •  1
  •   Hannoun Yassir    16 年前

    如果数据库已经存在,我会使用linq到sql(通过拖放从数据库生成映射)我会选择Nhibernate的其他方式(帮助您根据您的模型生成数据库)

        3
  •  1
  •   duffymo    16 年前

    我不知道这是否同样适用于.NET,但是如果我用Java和Spring解决这个问题,我会从一个隐藏实现选择的接口开始。客户不需要知道是LINQ还是NHibernate在做这项工作。Spring允许我随意注入一个实现或另一个实现,而不会干扰客户机,只要两者都实现了商定的接口。

        4
  •  1
  •   Wayne Molina    16 年前

    如果您的应用程序只需要基本功能,我会说使用LINQtoSQL,否则使用NHibernate。我对LINQ略知一二,我正在学习NHibernate,从中我可以看出,NHibernate是一个更好的长期解决方案,因为它比L2S(与数据库紧密耦合)更抽象,但L2S更容易学习并提供更快的解决方案。

    在不了解您的具体问题的情况下,我会说使用NHibernate,因为它更灵活,更能应对变化,尽管它的学习曲线比Linq到Sql略为“企业化”。对于一个好的NHibernate资源,我建议您签出 Steve Bohlen's "Summer of NHibernate" series .

        5
  •  1
  •   Aaron Fischer    16 年前

    对于3tier,什么是最好的解决方案,我都不会说。没有千篇一律的回应,您选择的每个框架/库都会有权衡。要做出此ORM决策,您需要考虑您的业务需求,并确定其中哪些可能性最有助于您及时、可维护地实现我们的目标。您的域模型有多复杂,linq到sql能否充分描述它们。

        6
  •  0
  •   IrishChieftain    16 年前