Ho un modello comeEntity Framework proprietà di navigazione problema looping se WCF
public class User
{
[Key]
public long UserId { get; set; }
[Required]
public String Nickname { get; set; }
public virtual ICollection<Group> Memberships { get; set; }
}
public class Group
{
[Key]
public long GroupId { get; set; }
[Required]
public String Name { get; set; }
public virtual ICollection<User> Members { get; set; }
}
public class DataContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Group> Groups { get; set; }
public DataContext()
{
Configuration.LazyLoadingEnabled = true;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.HasMany(u => u.Memberships)
.WithMany(t => t.Members)
.Map(x =>
{
x.MapLeftKey("UserId");
x.MapRightKey("GroupId");
x.ToTable("GroupMembers");
});
}
}
tutto va bene quando si accede entità utilizzando un'applicazione console di prova, ma ho bisogno di avere questo attraverso un servizio WCF, qui ho ottenuto questa eccezione:
Impossibile richiamare il servizio. Possibili cause: il servizio è offline o inaccessibile; la configurazione lato client non corrisponde al proxy ; il proxy esistente non è valido. Fare riferimento allo stack trace per maggiori dettagli. Si può cercare di recuperare avviando un nuovo proxy, ripristinando alla configurazione di default, o rinfrescante il servizio
L'unico modo che ho trovato per avere questo lavoro è, rimuovendo il navigatore in una delle entità, perché avere la i navigatori su entrambi i lati provocano un loop infinito.
C'è un modo per farlo funzionare senza rimuovere i navigatori?
Puoi pubblicare il codice del metodo di servizio che sta bombardando? Inoltre, puoi pubblicare i dettagli dell'eccezione che stai ricevendo? – Joon