У меня есть две сущности, которые настроены с отношением «многие ко многим»:
Категория:
public class Category : IEntityWithRelationships
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public virtual ICollection<User> Users { get; set; }
//Json.NET needs this in order to serialize the object
private RelationshipManager rm;
RelationshipManager IEntityWithRelationships.RelationshipManager
{
get
{
if (rm == null)
rm = RelationshipManager.Create(this);
return rm;
}
}
}
И пользователь:
public class User
{
public int Id { get; set; }
public ICollection<Category> Categories { get; set; }
}
Связанные объекты загружались нормально, но тогда мне нужно было сериализовать объект категории в Json, и Json.Net продолжал выдавать:
Не удалось сериализовать объект RelationshipManager. Этот тип
объект не может быть сериализован, когда RelationshipManager принадлежит
объект сущности, который не реализует IEntityWithRelationships.
Итак, я реализовал интерфейс IEntityWithRelationships
, но теперь мои связанные объекты не загружаются.
Я попробовал пользовательский ContractResolver
, но я все еще получаю исключение выше. Как я могу загрузить свои связанные объекты?