Я изучаю WCF и попытался создать небольшой сервис, который представляет проект и его задачи (стандартный привет-мир Entity Framework).
Структура класса следующая:
public class Project
{
public int ProjectId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public DateTime CreationDate { get; set; }
public virtual ICollection<Task> Tasks { get; set; }
}
public class Task
{
public int TaskId { get; set; }
public string Title { get; set; }
public virtual Project RelatedProject { get; set; }
}
Контекст БД появляется после:
public class ProjectContext : DbContext
{
public DbSet<Project> Projects { get; set; }
public DbSet<Task> Tasks { get; set; }
}
Наконец, конечная точка службы:
public IEnumerable<Project> getProjects()
{
ProjectContext p = new ProjectContext();
return p.Projects.AsEnumerable();
}
Проблема в том, что эта модель вызовет исключение System.ServiceModel.CommunicationException, но, если я удалю виртуальные свойства из модели, это будет работать, но я потеряю связи между структурой сущностей между Project и Task.
Кто-нибудь с подобной настройкой?