我偶然发现了以下两篇文章,第一篇和第二篇,作者在摘要中指出,不应将ORM实体和域实体混淆。
当我使用“代码优先”方法使用EF 6.0进行代码编写时,我正好面对此问题。我将POCO类用作EF中的实体以及域/业务对象。但是我经常遇到这样的情况,我将一个属性定义为public或将一个导航属性定义为virtual只是因为EF Framework迫使我这样做。
我不知道该怎么作为这两篇文章的底线?例如,我是否应该为实体框架真正创建一个CustomerEF类,为我的域创建一个CustomerD。然后创建一个使用CustomerD的存储库,将其映射到CustomerEF,然后进行一些查询,然后将接收到的CustomerEF映射回CustomerD。我以为EF就是将域实体映射到数据。
因此,请给我一些建议。我是否忽略了EF能够为我提供的重要信息?还是这是EF无法完全解决的问题?在后一种情况下,什么是解决此问题的好方法?