WCF:如何在合同中创建大量的类?

时间:2012-04-14 10:39:00

标签: wcf serialization

好吧,我正在创建一个WCF服务,它有大量的类与客户端通信,而且这个类也有很多属性。

主要是,这些类是使用edmx中的代码生成器创建的POCO类,我有.tt文件。

要使用这个类和属性,我必须使用DataContract和 DataMember ,所以在每个类中我必须设置 DataContract 并在每个属性中每个类 DataMemeber 。所以这是一项大工作,所以如果我需要对数据库进行一些修改,我必须再次生成tt文件,然后重复工作。

有没有办法自动执行此操作?我使用的是.NET 4.0和EF 4.1。

2 个答案:

答案 0 :(得分:1)

Entity Framework Provider有WCF数据服务,可能对您有帮助。

答案 1 :(得分:1)

将.tt文件添加到项目中的重点是,您可以修改模板以满足您的需求。您需要做的就是更改模板,以便将[DataContract]添加到实体类定义,并将[DataMember]添加到实体属性定义。

从那里,每次更改数据库时,只需使用“从数据库更新模型”功能,您的实体将自动使用现有模板重新生成代码。

所有这一切,我建议您直接从您的服务层公开您的数据库实体POCO。您应该真正设计域分离并在服务级别使用消息传递和CQRS类型模式。然后,您只需要一些简单的映射方法,将这些消息/命令之间的数据转换为您的实体。