gpt4 book ai didi

c# - 分层架构中的 Entity Framework ?

转载 作者:太空狗 更新时间:2023-10-30 00:59:21 25 4
gpt4 key购买 nike

围绕 WCF 和 Entity Framework 做一些实验。几个问题。

选项 1:

我知道 Entity Framework 类可以直接在 WCF 上序列化,从 sp1 开始。然而,我想知道延迟加载、急切加载、上下文管理等场景是如何处理的,如果它们被处理的话?

选项 2:

另一种选择可能是使用 EFPocoAdapter,在 Entity Framework 之上有一个普通的 POCO 包装器,而不是直接公开 Entity Framework 类。 http://code.msdn.microsoft.com/EFPocoAdapter .有人用过这个吗?在这方面有什么想法吗?

其他想法:

关于 ADO.NET 数据服务 - 据我了解,ADO.NET 数据服务不能通过远程处理(nettcp 绑定(bind))进行配置?它仅支持基于 http 的访问。我们都知道二进制序列化速度较慢。

任何指针或任何其他选项?

最佳答案

我已经对此进行了一些挖掘,以下是我的发现。

ADO.NET 数据服务:

您可以使用 ADO.NET 数据服务(您需要 SP1)通过网络公开您的 Entity Framework ,代码几乎为零。但据我所知,唯一的限制是交易是通过 HTTP 进行的。这意味着,在序列化方面的开销很小(我们都知道二进制序列化更快),但优势是我们服务的实现速度。

我从 John [ http://twitter.com/John_Papa]关于这一点 - “wcf 肯定有更多选择。在大多数情况下也有更多工作要做。Astoria 很容易公开实体。在大多数情况下性能差异可以忽略不计”

优点 - 您实际上根本不需要编写任何服务 - 您只需将验证和安全逻辑挂接到数据服务和 Entity Framework 周围,我们就完成了。如果您通过 http 使用以数据为中心的服务,这是理想选择 - 在诸如拥有 silverlight 客户端或通过 http 的 winform/wpf 前端等场景中。

通过 WCF 公开 Entity Framework :

在 SP1 中,有很多支持在分层架构中使用 Entity Framework 。这包括对预先加载和上下文管理的支持。当然,在这种情况下,我们需要编写服务(以及方法背后的逻辑)。或者,如果我们拥有与数据库完全一致的 Entity Framework 模型,我们可以生成大部分服务,其中包括我们需要的方法。

推荐你阅读这篇http://msdn.microsoft.com/en-us/magazine/cc700340.aspx

另一种选择可能是使用 EFPocoAdapter,在 dtos 的 Entity Framework 之上有一个普通的 POCO 包装器,而不是直接公开 Entity Framework 类。现在它是下一版 Entity Framework 的指南针项目 http://code.msdn.microsoft.com/EFPocoAdapter .

关于c# - 分层架构中的 Entity Framework ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/646358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com