HTML5技术

Entity Framework7 有哪些不同?现在开发到什么程度了? - china_fucan(2)

字号+ 作者:H5之家 来源:博客园 2015-09-26 18:00 我要评论( )

a、 每 类型映射 多个 实体 集(MEST)。这个特性,估计用的人很少,正是因为使用的人少,所以才去掉。它是什么意思呢?就是一个类型对应数据库中的多张表,例如:表Product 和 RetriedProduct都映射到Product类。如

      a、类型映射多个实体集(MEST)。这个特性,估计用的人很少,正是因为使用的人少,所以才去掉。它是什么意思呢?就是一个类型对应数据库中的多张表,例如:表Product 和 RetriedProduct都映射到Product类。如果你还有这样的需求,使用继承是更好的选择。

      b、非常复杂的类型映射。在EF6.x中,可能在一个继承映射中组合TPH,TPT和TPC。EF7不再支持这种复杂的映射了,它要求你的CLR 类型尽量跟表结构保持一至。至于为什么,我相同不少人到现在都还没有弄明白什么是TPH,TPT,TPC,那更说不上灵活运行了,这也是导致EF6.x MetadataWorkspace异常复杂的主原之一。

      c、去掉edmx建模。这可能会让很多人失望,因为它曾经给我们带来多么美好的回忆。但它有很多的不足,比较一些复杂的需求,不适应ddd分层设计,不符合现在流行的POCO等。最主要的是,有更好的选择code-based建模,这就是我们常说的code-first。 可能你会有疑问,怎么code-first和edmx是平级概念,它不是跟db-first、model-first平级的吗? 没错,它是跟edmx平级的,更详细的解释请查看我的另一篇博客Code First is a bad name,这些年我们对Code First的理解都错了 !很震惊吧? 

      d、ObjectContext API。它陪着EF一起成长,到EF4.1时才被DbContext弄到幕后.不过DbContext只是它的外观模式,底层仍然是使用的它。有时需要使用一些高级的功能时,我们还得想办法把它找出来。去掉它并不意味着它以前的一些功能不能用了。EF7重写了底层,把之前一定需要ObjectContext才能使用的api包含在了DbContext中,并且让调用更加清晰,简单。

      e、延迟加载。 这功能相信大家不陌生,它一直被当成EF的一大特点,但现在,它将要从EF7中去掉。我不确定最终的版本微软会不会把它请回来,因为这一点存在很大的争论。无论是我们这些开发人员,还是EF的开发团队。我个人是支持去掉的。一,不是所有的应用都需要延迟加载;二、不少的EF使用者对它没有深入的去了解,经常会有人问,为什么会出现"无法完成该操作,因为 DbContext 已释放"这样的问题。这说明这个功能反而给一部份使用者带来了困惑。

 

  这些变化并不是最终的,也许文中说的,会发生改变。当然这里也不可能列出所有的变化点,毕竟EF7还在处于开发过程中。总之,它是一个革命性的版本,以至于有人在争论应该叫他EF7呢,还是EF1。

    E、对非关系型数据库的支持,文章开头部分已经有提到,这里就不多说了;

    F、官方支持SQLite; 这估计对很多开发人员来说是福音,至少,这之前我为了使用Linq to Sqlite 折腾了不少时间,在博客园的处女作就为他而生 Linq To Sqlite 一一二二

 

四、EF7的开发计划

  相信,很多人和我一样,去年就开始期待EF7的发布。一年多长长的等待,可是它还没有出来,到底要什么时候呢?微软的计划是2016年,所以大家还得耐心等待。不过,有个好消息是,它是开源的,最新的源代码在github上,如果你想了解更多的细节,可以到下面的地址(https://github.com/aspnet/EntityFramework)去克隆或是下载源代码。下面是EF的开发计划表

 

  今天 就先说这么多吧,感谢你的阅读! 如果有什么不当的地方,或是文中没有说到的,请留言,谢谢!如果觉得不错,请动动鼠标,点一下推荐吧~

  

 

实体框架交流QQ群:  458326058,欢迎有兴趣的朋友加入一起交流

谢谢大家的持续关注,我的博客地址:

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Framework7+vue demo - stumpx

    Framework7+vue demo - stumpx

    2017-04-06 13:04

  • EntityFramework Core并发深挖详解,一纸长文,你准备好看完了吗? - Jeffcky

    EntityFramework Core并发深挖详解,一纸长文,你准备好看完了吗? -

    2017-04-05 14:03

  • EntityFramework Core不得不注意的性能优化意外收获,你会用错? - Jeffcky

    EntityFramework Core不得不注意的性能优化意外收获,你会用错? - J

    2017-04-05 14:00

  • EntityFramework Core 1.1有哪些新特性呢?我们需要知道 - JeffckyWang

    EntityFramework Core 1.1有哪些新特性呢?我们需要知道 - JeffckyWa

    2017-01-22 18:01

网友点评
r