Ich versuche, eine benutzerdefinierte Klasse von meinem WCF-Datendienst zurückzugeben. Meine benutzerdefinierte Klasse lautet:
[DataServiceKey("ID")]
public class Applist {
public int ID { get; set; }
public string Name { get; set; }
}
Mein Datendienst sieht so aus:
public static void InitializeService(IDataServiceConfiguration config)
{
config.RegisterKnownType(typeof(Applist));
config.SetEntitySetAccessRule("*", EntitySetRights.All);
config.SetServiceOperationAccessRule("GetApplications", ServiceOperationRights.AllRead);
}
[WebGet]
public IQueryable 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();
}
Allerdings erhalte ich beim Ausführen des Dienstes einen Fehler:
Anforderungsfehler Anforderungsfehler Der Server hat einen Fehler bei der Verarbeitung der Anforderung festgestellt.
Die Ausnahmemeldung lautet: 'Metadaten für den Rückgabetyp 'System.Linq.IQueryable`1[ApplicationService.Applist]' der Methode
'System.Linq.IQueryable`1[ApplicationService.Applist] GetApplications()' können nicht geladen werden.'
Die gleiche Abfrage funktioniert einwandfrei in LINQPad.