如何在WCF数据服务和EF中使用自定义类型
本文关键字:自定义 类型 EF WCF 数据 服务 | 更新日期: 2023-09-27 18:04:34
我已经用EF模型的基类创建了一个WCF数据服务。
我想返回一个自定义类型(一个不是在我的EF模型),但我得到错误:
The server encountered an error processing the request. Please see the service help
page for constructing valid requests to the service.
我的自定义类看起来像:
public class MyCustomClass
{
public string CustomProp { get; set; }
public List<int> Ids { get; set; }
}
我怎样才能使它工作?
您需要将返回对象设置为数据契约:
[DataContract]
public class MyCustomClass
{
[DataMember]
public string CustomProp { get; set; }
[DataMember]
public List<int> Ids { get; set; }
}
参见:如何在WCF数据服务中接受JSON ?
链接是如何设置一个接收服务,返回值,你只是改变你的方法的返回类型。
我发现使用WCF Data Services做到这一点的唯一方法是将json字符串作为参数传递,然后将其反序列化到自定义类中。
一样:
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public bool ConfigurationChanged(string jsonStr)
{
try
{
MyObject obj = new JavaScriptSerializer().Deserialize<MyObject>(jsonStr);
// ... do something with MyObject
}
catch (Exception)
{
throw;
}
}