我有一個像實體框架導航屬性循環問題雖然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");
});
}
}
所有的模型使用測試控制檯應用程序訪問的實體的時候去罰款,但我需要通過WCF服務有這個,在這裏我得到了此例外:
無法調用該服務。可能的原因:服務處於脫機狀態或無法訪問;客戶端配置與 代理不匹配;現有的代理無效。有關更多詳細信息,請參閱 的堆棧跟蹤。您可以嘗試通過啓動一個新的代理來恢復,恢復 爲默認配置,或刷新服務
我發現有這方面的工作的唯一辦法是,在實體之一除去導航,因爲具有雙方的導航員都會導致無限循環。
有沒有辦法讓這個工作沒有刪除導航儀?
你可以發佈正在轟炸的服務方法的代碼嗎?另外,你可以發佈你所得到的異常的細節嗎? – Joon 2012-07-30 08:25:54