我正在尝试使用 c#、wcf 和实体框架开发一个 .net4 应用程序。我的第一个想法是通过 wcf 传递 EF 生成的对象(首先使用默认实体对象,然后使用 POCO 实体),但是由于生成的实体中的不可序列化对象,我很快遇到了几个连接问题(连接已关闭)。我最终编写了几个纯数据类来托管使用 EF 查询的数据,但现在我想念 EF 在 WCF 中的作用。我想我做错了什么,那么如何使用 EF 通过 wcf 发送数据?EF的意义何在?编写存储过程和标准 ado.net 会不会更容易......?
问问题
1361 次
1 回答
4
实体框架只是一种数据访问技术。您可以创建一个数据访问层,它与您的数据库对话并使用实体框架返回所需的数据,然后将其插入您的 WCF 服务,以便您的 WCF 服务将获取数据。您可以将相同的数据访问层用于任何其他消费者(Silver light 应用程序、Windows 窗体项目或 MVC 应用程序)。使用 Entity 框架的优点是它会将数据加载到您的域对象(您的 POCO 类)中,这样您就不需要自己手动完成。在存储过程的情况下,您需要执行存储过程,通过 DataReader/DataTable 迭代填充您的对象。为此,您必须编写代码。如果您使用实体框架,EF 会为您执行此操作,因此您可以节省一些开发时间。
您应该清楚地在逻辑上分离您的项目,以便有一个数据访问和一个使用数据访问层(您的 WCF 服务)的消费者。
于 2012-06-07T21:22:37.483 回答