Ich versuche, einen ODATA-Feed von einem Windows Phone 7 Silverlight-Client zu konsumieren. Grundsätzlich ist eine Viele-zu-viele-Datenbeziehung zwischen Gruppen und Benutzern mit einer UserGroup-Tabelle zwischen ihnen. Wenn sich ein Benutzer anmeldet, muss ich mithilfe seiner UserId nach den Gruppen fragen, zu denen er gehört. Meine Daten-Klassen sind wie folgtViele zu viele Abfrage von OData-Feed
[DataServiceKey("Id")]
public class Group
{
public Guid Id { get; set; }
public string GroupTag { get; set; }
public DateTime DateCreated { get; set; }
[ForeignKey("GroupOwner")]
public Guid? GroupOwnerId { get; set; }
public virtual Person GroupOwner { get; set; }
public bool IsActive { get; set; }
public virtual ICollection<GroupUser> GroupUsers { get; set; }
}
[DataServiceKey("Id")]
public class GroupUser
{
public Guid Id { get; set; }
[ForeignKey("Group")]
public Guid GroupId { get; set; }
public virtual Group Group { get; set; }
[ForeignKey("Person")]
public Guid PersonId { get; set; }
public virtual Person Person { get; set; }
public bool IsActive { get; set; }
}
[DataServiceKey("Id")]
public class User
{
public Guid Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public virtual ICollection<GroupUser> UserGroups { get; set; }
public virtual ICollection<Group> MyGroups { get; set; }
}
ich alles versucht habe, ich weiß, um dieses Ergebnis zu erhalten, aber ich erhalte einen Fehler nach dem anderen, egal, was ich tue. Abgesehen von zwei Abfragen, die ich nicht machen möchte, weil es zu unordentlich wäre, gibt es eine Lösung?
------ ------ aktualisieren
Aus der langen Nacht der Forschung habe ich entdeckt, dass OData die Begrenzung der nicht unterstützt hat ‚jeder‘ und "Alle Anfragen der Art, so meine Abfrage wäre zu diesem Zeitpunkt nicht möglich. Was ich auch aus here herausfand, dass meine Implementierung der Poco-Klassen leicht modifiziert werden könnte, um eine Viele-zu-Viele-Beziehung darzustellen, ohne die Klasse in der Mitte explizit zu definieren, was mir möglicherweise helfen würde, dieses Navigationsproblem zu lösen. Ich bin noch dabei, es auszuarbeiten, da ich Probleme habe, die Navigationseigenschaften zu definieren, aber sobald ich eine Lösung habe, werde ich es hier aufstellen, damit es einem anderen glücklosen Reisenden helfen kann, der diesen Weg geht.
Was sind die Ergebnisse, die Sie suchen? – casperOne
Hallo CasperOne, ich suche nach einer UserId und erhalte eine Liste von Gruppen, zu denen der Benutzer gehört. –