Ломаю голову над этим вопросом. Я нашел кое-что в интернете по этому поводу, но четкого ответа не нашел. Моя проблема:
У меня есть классы в разделе Model веб-приложения MVC3: ParentClass и ChildClass. У ParentClass есть свойство Children типа List
Я использовал EF Code First, который аккуратно генерирует для меня родительскую и дочернюю таблицы в базе данных.
Теперь мне нужен REST-сервис, который возвращает List или один ParentClass.
Когда я удаляю свойство Children из ParentClass, проблем не возникает. Но при наличии свойства Children я продолжаю получать ошибку.
Ошибка: "Тип System.Data.Entity.DynamicProxies.ParentClass_A0EBE0D1022D01EB84B81873D49DEECC60879FC4152BB115215C3EC16FB8003A не ожидался. Используйте атрибут XmlInclude или SoapInclude для указания типов, которые не известны статически."}
Некоторый код:
Классы:
public class ParentClass
{
public int ID { get; set; }
public string Name {get;set;}
public virtual List<ChildrenClass> Children { get; set; }
}
public class ChildrenClass
{
public int ID { get; set; }
public string MyProperty { get; set; }
}
Сервис:
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class MyService
{
static MyContext db;
public MyService() { db = new MyContext(); }
[WebGet(UriTemplate = "")]
public List<ParentClass> GetParents()
{
var result = db.Parents.ToList();
return result;
}
Я не получаю результат при вызове этого сервиса. Что я делаю не так?