Tôi có một mô hình nhưEntity Framework Navigation Thuộc tính lặp vấn đề mặc dù 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");
});
}
}
Tất cả diễn ra tốt khi truy cập vào các đối tượng sử dụng một giao diện điều khiển ứng dụng thử nghiệm, nhưng tôi cần phải có điều này thông qua một dịch vụ WCF, ở đây tôi có ngoại lệ này:
Không thể gọi dịch vụ. Nguyên nhân có thể xảy ra: Dịch vụ ngoại tuyến hoặc không thể truy cập được; cấu hình phía máy khách không khớp với proxy ; proxy hiện tại không hợp lệ. Tham khảo dấu vết ngăn xếp cho chi tiết hơn . Bạn có thể cố gắng khôi phục lại bằng cách bắt đầu một proxy mới, khôi phục để cấu hình mặc định, hoặc làm mới các dịch vụ
Cách duy nhất tôi tìm thấy có làm việc này là, loại bỏ các hoa tiêu tại một trong những đơn vị, bởi vì có các nhà điều hướng ở cả hai bên gây ra một vòng lặp vô hạn.
Có cách nào để làm việc này mà không xóa các trình điều hướng không?
Bạn có thể đăng mã của phương thức dịch vụ đang phát hành không? Ngoài ra, bạn có thể đăng các chi tiết của ngoại lệ mà bạn đang nhận được không? – Joon