C# 面向SOA的无状态ORM

C# 面向SOA的无状态ORM,c#,.net,orm,entity-framework-4,soa,C#,.net,Orm,Entity Framework 4,Soa,我们需要实现一个.NET WCF服务,该服务将成为SOA解决方案的一部分,这意味着它的实体将通过基于Java和.NET的服务以及桌面客户端(尽管它们可能是.NET,但这不重要)进行更改 为了实现这种灵活性,所有对象都必须是无状态的,因为我们不能传递包含实体实现和更改跟踪逻辑的.dll(所有对象定义都将由wsdl获取) 将要通信的实体将在一个图中,例如,一些主根,然后它们中的每个都有一个集合,这个集合有它们自己的集合,等等。。。集合的每个部分都可以修改/删除/插入 我知道我们可以使用DTO,但这是

我们需要实现一个.NET WCF服务,该服务将成为SOA解决方案的一部分,这意味着它的实体将通过基于Java和.NET的服务以及桌面客户端(尽管它们可能是.NET,但这不重要)进行更改

为了实现这种灵活性,所有对象都必须是无状态的,因为我们不能传递包含实体实现和更改跟踪逻辑的.dll(所有对象定义都将由wsdl获取)

将要通信的实体将在一个图中,例如,一些主根,然后它们中的每个都有一个集合,这个集合有它们自己的集合,等等。。。集合的每个部分都可以修改/删除/插入

我知道我们可以使用DTO,但这是一种开销(特别是对于对象图、循环指针等),我现在想避免使用它。但如果没有其他证明是对的,我们可能不得不走那条路

我以前使用过实体框架&LLBLGenPro,但我想听听你的意见。因此,最后:

在SOA环境中,您会选择什么样的ORM?


谢谢

我会为此编写一个服务(事实上,我正在为此编写一个OData服务)。这是用实体框架实现的,但也有。然后您可以从中使用它。

我认为根本问题“哪个ORM”不会因为环境是SOA而改变。像样的ORM可以很好地处理SOA。事实上,LLBL实体要求您拥有其dll进行反序列化,实体框架实体都继承自system.data.Entity,因此它们不能在Java上正常工作。当然也有变通办法,但这就是我为什么要问这个问题的原因——也许有一些东西不需要变通办法