如何使用Entity framework 6.0为WCF服务开发N层层。建议我公开实体作为datacontract是好还是坏?

时间:2014-05-15 03:08:31

标签: wcf entity-framework-5

你能否帮助创建N-Tier Arch for WCF服务,它将使用Entity framework 6.0进行数据访问。

我曾使用带有企业库的软件工厂为WCF创建N-Tier Arch ....用于数据库和文件系统中的数据访问和异常日志记录

但我真的很困惑我是否可以公开在WCF服务数据合同中作为Entity框架的一部分生成的实体...还建议我如何使用实体框架实现其他活动,例如数据库中的异常日志记录...

如果可能的话,请通过使用实体框架为WCF创建示例或演示N-TIER Arch来指导我...

我在使用Entity framework

时看到很多文章说需要使用存储库模式

在使用Entity框架时,我们是否真的需要实现或使用存储库模式 使用Trackable Entities对WCF来说是个好主意吗?还请解释可跟踪实体如何运作?

1 个答案:

答案 0 :(得分:1)

This blog不仅涉及通过WCF公开实体,还涉及将业务逻辑实现为这些实体的一部分,并通过.NET客户端和服务器上的共享程序集共享它。

关于n层架构和各自的实施,您可能有兴趣使用完全满足您需求的 N-Tier Entity Framework 。该框架提供Visual Studio模板,以便为不同的层创建所需的组件。然后,它提供T4代码生成模板,以基于实体模型(edmx)生成客户端和服务器代码。您还可以在codeplex上找到示例应用程序和user guide以供下载。

使用log4netNLog等日志框架可以最好地记录异常和其他信息。如果需要从客户端向服务器发送日志消息,则应使用异步消息传递,这可以通过使用MSMQ绑定的WCF完成。