我有一个使用代码优先方法使用Entity Framework 5和POCO类的应用程序。
这样我就可以在Poco类中建模每个数据库表,这样我就可以更好地控制模型(而不是EDMX)。
应用程序运行正常,但现在我想添加一个WCF层,因此它可以在n层架构下运行。
这样做的最佳方法是什么?
我对WCF非常熟悉,但ADO.NET返回数据集。我正在阅读为了获得最佳性能,您可以返回JSON而不是XML,所以我想知道专家是否有任何关于如何使用实体框架实现WCF层的示例,该实体框架将JSON对象返回给客户端,反之亦然。
感谢并感谢任何指南。
答案 0 :(得分:1)
如果您创建自定义类或使用实体框架类,则没有此类更改。只需要将[DataContract]放在需要序列化的类之上,并且需要在服务中序列化[DataMember]。
例如。
[DataContract]
public class Test
{
[DataMember]
public string field1 {get; set;}
[DataMember]
public string field2 {get; set;}
}
要创建WCF服务,您只需要输入以下代码:
它将在服务界面中,你只需要在课堂上实现。
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
List<test> GetTest();
我希望它会对你有所帮助。 :)