具有n层体系结构的实体框架5

时间:2013-05-31 20:52:55

标签: c# winforms entity-framework entity-framework-5 wcf-data-services

我有一个使用代码优先方法使用Entity Framework 5和POCO类的应用程序。

这样我就可以在Poco类中建模每个数据库表,这样我就可以更好地控制模型(而不是EDMX)。

应用程序运行正常,但现在我想添加一个WCF层,因此它可以在n层架构下运行。

这样做的最佳方法是什么?

我对WCF非常熟悉,但ADO.NET返回数据集。我正在阅读为了获得最佳性能,您可以返回JSON而不是XML,所以我想知道专家是否有任何关于如何使用实体框架实现WCF层的示例,该实体框架将JSON对象返回给客户端,反之亦然。

感谢并感谢任何指南。

1 个答案:

答案 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();

我希望它会对你有所帮助。 :)