【问题标题】:Visual Studio 2010 ADO.NET Data Model vs Linq to SQLVisual Studio 2010 ADO.NET 数据模型与 Linq to SQL
【发布时间】:2010-04-12 23:09:54
【问题描述】:

这两者有什么区别?乍一看,它们似乎具有相同的功能。 哪个性能更快哪个更容易使用?

【问题讨论】:

    标签: .net visual-studio-2010 .net-4.0 data-access


    【解决方案1】:

    使用 ADO.NET 和某种 SQL:

    • 优势:不需要任何类型的配置或建模。
    • 优点:效率更高,只要你知道如何编写和优化 SQL。开始时速度更快,并且在必要时更容易进一步优化。
    • 需要:更多的 sql 知识(无论如何也不错)
    • 需要:一些基础设施/工具来减少重复编码
    • 赞成的论据:如果您擅长 sql,拥有良好的数据访问工具,并且在获得数据后立即将数据放在其他地方,那么 Linq-to 没有什么令人信服的地方-SQL。

    使用 Linq-to-Sql

    • 优点:即使在 linq 经验有限的情况下,也很容易阅读/理解。
    • 优势:可以快速为您提供可以立即使用的强大类型。
    • 优势:在 Visual Studio 中,您在编译前或编译时更容易发现错误。用简单的老废话,你会发现你在运行时犯了错误。
    • 需要:设置架构
    • 要求:了解 linq(无论如何你都想拥有)
    • 赞成的理由:许多人发现 Linq 性能损失并没有那么大,而且最终不会成为问题。此外,即使您认为自己是 sql pro,也有时提出的 sql linq 比 提出的要好。 (Stackoverflow 是一个大网站,它是 Linq-to-sql seems to hold up just fine。)

    简而言之,两者都是不错的选择。关键因素是:

    1. 你的技能组合:如果你擅长 SQL(和代码生成),更少 使用 Linq-to-SQL 的原因。
    2. 数据库负载挑战:如果您没有 共享一个微不足道的数据库服务器 其他解决方案,而你不是 巨大,Linq-to-Sql 非常强大 够了。

    擅长 SQL 将在很长一段时间内都很重要。而且,擅长 LINQ 是一个非常好的举措。 Linq-to-XML 和 Linq-to-Objects 是很棒的技术,一种风格的技能可以直接转化为其他 Linq 风格。

    【讨论】:

      【解决方案2】:

      对我来说最大的好处是您可以免费获得一个体面的数据库对象模型,而无需编写多余的“制作一个看起来有点像这张表的对象”代码,甚至更多余的“用数据填充这个对象” "代码。

      它并不完美,但确实可以节省很多时间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-25
        • 2010-10-11
        • 1970-01-01
        • 1970-01-01
        • 2019-06-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多