【发布时间】:2011-03-16 19:00:41
【问题描述】:
最近我阅读了文章“The Entity Framework In Layered Architecture”,其中写到我们可以通过 WCF 向客户端发送 EF 实体。但是在 Stackoverflow 上的许多线程中,人们告诉我们在使用 WCF 时应该使用 POCO(DTO) 对象。 还有一些问题。
为什么 Microsoft 将 DataContract 属性添加到 EF 实体? Microsoft 是否希望我们在应用程序的任何地方都使用这些对象?或者这只适用于非常简单的应用程序和快速开发?
如果我使用 POCO 对象,我是否应该创建自动生成的 EF 实体、POCO 实体,然后在它们之间使用任何映射库?或者我应该在我的应用程序的所有组件中只使用 POCO 对象?
如果我已经有自己的业务实体,它有一些方法,并且应该映射到POCO对象,我应该在哪一层将POCO-object转换为我的实体(例如,我有持久层,业务逻辑层,服务层(WCF),展示层(客户端,使用WCF),UI层)?或者我不应该让这样的实体成为我自己的实体?
提前致谢
【问题讨论】:
-
请记住,这篇文章是 2 年前写的。从那时起,许多事情都发生了变化。 EF 4.0 带来了一些新特性,可以与 poco 一起使用,更好地与 wcf 一起使用等等。
-
你应该阅读这篇文章,看看EF和POCO是否适合你Working with POCO Entities (Entity Framework)
-
非常感谢这篇文章。
-
是的,我明白了。我只是尝试决定如何开发我的应用程序。
-
请问您在 UI 层中使用的是什么?
标签: c# .net entity-framework poco