【问题标题】:What is difference between .edmx and .dbml file in linq?linq 中的 .edmx 和 .dbml 文件有什么区别?
【发布时间】:2011-07-18 04:13:07
【问题描述】:

linq 中的 .edmx 和 .dbml 文件有什么区别?在 VS 2008 中,哪个数据源是 edmx 或 dbml 的最佳选择?在 VS 2008 中使用 edmx 文件会出现什么问题?我可以在 VS-2008 中使用 edmx 吗?

【问题讨论】:

  • 你应该奖励某人

标签: linq linq-to-sql entity-framework linq-to-entities


【解决方案1】:

两者都是作为最新技术引入的,有时在使用哪种技术时会有些混乱。 Entity Framework 和 LINQ to SQL 有很多共同点,但在很多方面仍然彼此不同:

实体框架:
一、企业发展:
2. 使用数据库的概念模型:
3. 适用于所有数据源:
4. “.EDMX”是在使用实体框架时创建的:

LINQ::
1. 快速应用开发:
2. 使用数据库中的对象:
3.主要与SQL Server一起工作:
4. “.dbml”是在使用 LINQ to SQL 时创建的:
:

实体框架更面向企业开发,其中架构通常针对存储考虑(例如性能一致性和分区)进行优化。 Entity Framework 是围绕公开一个面向应用程序的数据模型而设计的,该模型是松散耦合的,可能与现有的数据库模式不同。例如,您可以将单个实体(类)映射到多个或将多个实体映射到同一个表。实体框架在应用程序中添加时具有“.edmx”(ADO.NET 实体模型)文件。

LINQ to SQL 主要具有支持针对 SQL Server 进行快速应用程序开发的功能。 LINQ to SQL 允许您拥有现有数据库模式的强类型视图。您可以在表上构建 LINQ 查询并将结果作为强类型对象返回。添加到应用程序中时,LINQ to SQL 具有“.dbml”(LINQ to SQL)文件。您可以通过使用属性装饰现有类来使用 LINQ to SQL。

[原文来源:https://parassanghani.blogspot.com/2011/01/entity-framework-vs-linq-to-sql.html]

【讨论】:

【解决方案2】:

我从来没有像定义那样理解文献。无论如何,底线是 L2S 是轻量级的,而 EF 是重量级的。这意味着 L2S 仅适用于 SQLServer,而 EF 则适用于更多。

参考:Difference between L2S and EF

【讨论】:

    【解决方案3】:

    edmxEntity Framework 的建模文件。

    dbmlLinq 2 Sql 的建模文件。

    您应该花时间学习实体框架,因为 Linq 2 Sql 已被弃用。

    【讨论】:

    • 他绝对应该学习 EF,但 L2S 并没有被弃用。此外,如果他使用的是 VS2008 (.NET
    • 也许它没有被官方弃用,但绝对应该被视为开发已关闭(blogs.msdn.com/b/adonet/archive/2008/10/29/…)。但是 EF4 之前的 EF 并没有那么有趣,这是真的。 IMO L2S 适用于简单项目,但如果是长期项目,应避免使用(我现在正在使用 L2S,我感到很痛苦)
    • 不,没有死,而且肯定会收到新功能,甚至在这里讨论过 (stackoverflow.com/questions/3041011/is-linq-to-sql-deprecated)。它只是没有得到那么多关注,但又一次它不需要那么多关注,因为它是一个全面的功能工具集。可悲的是,大多数人甚至不使用不在 L2S 中的 EF 功能,而是将 EF 视为 L2S,同时忍受抽象不可避免地带来的性能损失。仅仅因为“新奇因素”而盲目地赶东西是恕我直言不是一件好事,特别是如果你不需要它们
    • 这很有趣。我只是在 Tekpub 上的 EF 视频中盲目相信 Rob Conery。感谢您的提醒。
    • 谢谢你们的 cmet 对我来说很有价值,我可以根据项目类型和价值来选择最适合的框架。感谢您花费宝贵的时间提出建议。
    【解决方案4】:

    LINQ to SQL 主要具有支持针对 SQL Server 进行快速应用程序开发的功能。 LINQ to SQL 允许您拥有现有数据库模式的强类型视图。您可以在表上构建 LINQ 查询并将结果作为强类型对象返回。添加到应用程序中时,LINQ to SQL 具有“.dbml”(LINQ to SQL)文件。您可以通过使用属性装饰现有类来使用 LINQ to SQL。

    【讨论】:

    • 这根本没有回答问题,这是专门关于有问题的文件的。它不是要求比较。
    【解决方案5】:

    .edmx 是实体框架。 .dbml 是 LINQ-to-SQL。虽然它们的通用目的相同,但它们是完全不同的框架。 Entity Framework 较新,可能是您学习时间的最佳投资,因为我怀疑这将是很多创新的方向。

    【讨论】:

      猜你喜欢
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      • 2011-12-01
      • 2017-09-30
      相关资源
      最近更新 更多