NET实体框架和.NET 3.5框架中的WCF

NET实体框架和.NET 3.5框架中的WCF,.net,wcf,entity-framework,.net,Wcf,Entity Framework,在我的新项目中,我被要求使用ADO.NET实体框架和WCF服务。我对这一点还不太熟悉,但当我研究和处理一些示例时,我发现将实体框架实体用作WCF契约背后的想法相当混乱。 所以我想知道大家对这件事的看法。我还研究了持久性无知,以及4.0版本中对POCO的支持,但不知何故,我们无法将此项目迁移到4.0。 PI在3.5中也是可能的吗?有我可以研究的样品吗。我尝试实现POCO适配器,但Codeplex上提供的示例太混乱,无法在web应用程序中实现 我的总体观点是将数据契约与实体框架创建的实体解耦。这是怎

在我的新项目中,我被要求使用ADO.NET实体框架和WCF服务。我对这一点还不太熟悉,但当我研究和处理一些示例时,我发现将实体框架实体用作WCF契约背后的想法相当混乱。 所以我想知道大家对这件事的看法。我还研究了持久性无知,以及4.0版本中对POCO的支持,但不知何故,我们无法将此项目迁移到4.0。 PI在3.5中也是可能的吗?有我可以研究的样品吗。我尝试实现POCO适配器,但Codeplex上提供的示例太混乱,无法在web应用程序中实现


我的总体观点是将数据契约与实体框架创建的实体解耦。这是怎么可能的,或者使用Ado.net实体作为契约是3.5中的唯一选项。

您可能希望在Entity Framework v1.0中查看此选项。它专门将持久性忽略应用于实体框架实体。至于将其与WCF结合使用,您可能无法将其与WCF数据服务结合使用,我还没有对此进行探讨

实际上,您可以通过WCF数据契约公开POCO实体:

实体框架V1编程 接口用 与POCO一起工作的相应API 对象并进行必要的翻译 在POCO和持久性感知之间 对象


因此,您所需要做的就是在服务端连接数据访问,显然EF适配器将为您处理到持久性感知版本的映射。

您可能希望在Entity Framework v1.0中查看此内容。它专门将持久性忽略应用于实体框架实体。至于将其与WCF结合使用,您可能无法将其与WCF数据服务结合使用,我还没有对此进行探讨

实际上,您可以通过WCF数据契约公开POCO实体:

实体框架V1编程 接口用 与POCO一起工作的相应API 对象并进行必要的翻译 在POCO和持久性感知之间 对象


因此,您只需在服务端连接数据访问,显然EF适配器将为您处理到支持持久性的版本的映射。

您真的希望使用v4.0,而不是3.5 SP 1的早期版本。我很确定EFv1不支持POCO实体,但我可以保证EFv1和WCF会带来很多麻烦。@RobS,WCF数据服务在3.5中得到支持。他们不是一个痛苦的世界。它们非常简单。你真的想使用v4.0,而不是以前版本的3.5 SP 1。我很确定EFv1不支持POCO实体,但我可以保证EFv1和WCF会带来很多麻烦。@RobS,WCF数据服务在3.5中得到支持。他们不是一个痛苦的世界。他们非常简单。没有冒犯意味着克雷格,但我认为这个答案对解决老年退休金问题没有多大帮助。WCF数据服务如何帮助持久化和解耦契约/实体/上下文?@RobS,他问如何在WCF服务中使用EF实体。在我看来,他似乎将POCOs视为达到这一目的的一种手段。但这不是唯一的手段。WCF数据服务很简单。EF 1中的POCO是痛苦的,但EF 4中没有。没有冒犯意味着克雷格,但我认为这个答案对解决OPs问题没有多大帮助。WCF数据服务如何帮助持久化和解耦契约/实体/上下文?@RobS,他问如何在WCF服务中使用EF实体。在我看来,他似乎将POCOs视为达到这一目的的一种手段。但这不是唯一的手段。WCF数据服务很简单。EF 1中的POCO很痛苦,但EF 4中没有。我尝试实现POCO适配器,但不知何故无法为web应用程序实现它,出现各种错误:。我对WCF数据服务并没有真正的了解,但我也会关注它。嗨,库纳尔。我会尝试在数据契约定义中使用POCO对象,然后使用适配器将它们映射到web服务实现或其他层中的实际EF类型。对不起,我以前没有使用过这个适配器,在它成为问题之前,我已经升级到v4以获得新的POCO支持。您真的尝试过这个吗?您担心数据服务会带来痛苦,您建议使用EF 1 POCO适配器?!?还有一件事我有疑问,在堆栈溢出的某个地方,我读到如果实体框架实体用作WCF数据契约,则存在互操作性问题。真的是这样吗?我对此表示怀疑,因为只有那些属性被公开并通过标记为数据成员的线路发送,所以我在这里看不到互操作性问题。我尝试实现POCO适配器,但不知何故无法为web应用程序实现它,出现了各种错误:。我对WCF数据服务并没有真正的了解,但我也会关注它。嗨,库纳尔。我会尝试在数据契约定义中使用POCO对象,然后使用适配器将它们映射到数据契约中的实际EF类型
web服务实现或其他层。对不起,我以前没有使用过这个适配器,在它成为问题之前,我已经升级到v4以获得新的POCO支持。您真的尝试过这个吗?您担心数据服务会带来痛苦,您建议使用EF 1 POCO适配器?!?还有一件事我有疑问,在堆栈溢出的某个地方,我读到如果实体框架实体用作WCF数据契约,则存在互操作性问题。真的是这样吗?我对此表示怀疑,因为只有那个些属性被公开并通过标记为数据成员的线路发送,所以我认为这里并没有互操作性问题。