Entity Framework 4的特性介绍可看这篇文章 .NET 4中Entity Framework简介,其中最感兴趣的一点就是对POCO的支持了:EF4为实体提供了简单传统CLR对象(Plain Old CLR Object / POCO)支持。您的实体对象可以独立于EF存在,由此EF更好地支持了测试驱动开发(test-driven development)和领域驱动设计(domain-driven design)。同时,EF仍旧可以帮助跟踪POCO实体的变化,允许延迟加载,也会自动修正对导航属性(navigation properties)和外键的改动。
Entity Framework 1.0 发布了很长一段时间了,但感觉用的人很少。其中一个很大的原因,也许就是不支持POCO,至少我自己是这么想而不使用EF1的,Entity Framework 4.0版本(又称EF V2)将提供POCO支持,对很多人来说,这是开始使用Entity Framework的时候了。
学习最好的方式当然是动手练习了,今天花了大半天跟着这篇文章【翻译】在Entity Framework 4.0中使用 Repository 和 Unit of Work 模式,这篇文章里头有3篇POCO的系列,虽然文章是写于EF4 beta1的时候,现在已经是RC,一样有效:
POCO in Entity Framework : Part 1 – The Experience(【翻译】实体框架中的POCO支持 - 第一部分 - 体验 )
POCO in Entity Framework : Part 2 – Complex Types, Deferred Loading and Explicit Loading (【翻译】实体框架中的POCO支持 - 第二部分 - 复杂类型,延迟装载和显式装载 )
POCO in Entity Framework : Part 3 – Change Tracking with POCO (【翻译】实体框架中的POCO支持 - 第三部分 - POCO的变动跟踪)
还有这篇文章EF 4 – Implementing POCO Objects,图文并茂的详细介绍了整个过程。
这里整理一下学习过程中的注意点:
Tip 53 – How to debug EF POCO mapping issues : http://blogs.msdn.com/alexj/archive/2010/02/12/tip-53-how-to-debug-ef-poco-mapping-issues.aspx