Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法从WCF数据服务返回自定义类_C#_Wcf Data Services_Return Type_Service Operations - Fatal编程技术网

C# 无法从WCF数据服务返回自定义类

C# 无法从WCF数据服务返回自定义类,c#,wcf-data-services,return-type,service-operations,C#,Wcf Data Services,Return Type,Service Operations,我试图从我的WCF数据服务返回一个自定义类。我的自定义类是: [DataServiceKey("ID")] public class Applist { public int ID { get; set; } public string Name { get; set; } } 我的数据服务看起来像: public static void InitializeService(IDataServiceConfiguration config) { config.Regis

我试图从我的WCF数据服务返回一个自定义类。我的自定义类是:

[DataServiceKey("ID")]
public class Applist {
    public int ID { get; set; }
    public string Name { get; set; }
}
我的数据服务看起来像:

public static void InitializeService(IDataServiceConfiguration config)
{
    config.RegisterKnownType(typeof(Applist));
    config.SetEntitySetAccessRule("*", EntitySetRights.All);
    config.SetServiceOperationAccessRule("GetApplications", ServiceOperationRights.AllRead);
}

[WebGet]
public IQueryable<Applist> GetApplications() {
    var result = (from p in this.CurrentDataSource.Applications
          orderby p.ApplicationName
          group p by p.ApplicationName into g
          select new Applist { ID = g.Min(p => p.id), Name = g.Key });

    return result.AsQueryable();
}

同样的查询在LINQPad中运行得非常好

请参阅下面的博客。它详细解释了该场景和可能的解决方案:

一年前改名为WCF Data Services…将WCF Data Services与VS 2010和ADO.Net Data Services与VS 2008 SP1一起使用是否会产生影响?您有解决方案吗?
Request Error Request Error The server encountered an error processing the request. 
The exception message is 'Unable to load metadata for return type
'System.Linq.IQueryable`1[ApplicationService.Applist]' of method
'System.Linq.IQueryable`1[ApplicationService.Applist] GetApplications()'