Можно ли вернуть вложенные классы в json с помощью OpenRasta?
Сначала я использую EF4.1 с кодом (что в теории не должно иметь значения, поскольку они являются просто классами POCO).
Вот пример:
public class AppUser
{
[Key]
public int AppUserId { get; set; }
public string WinLogin { get; set; }
public string ScreenName { get; set; }
public string AgencyId { get; set; }
public virtual ICollection<UserAppVersion> UserAppVersion { get; set; }
}
public class UserAppVersion
{
[Key]
public int UaVersionId { get; set; }
public int AppUserId { get; set; }
public int AppVersionId { get; set; }
public DateTime DateCreated { get; set; }
public DateTime DateUpdated { get; set; }
public virtual AppUser User { get; set; }
public virtual AppVersion Version { get; set; }
}
Я пытаюсь вернуть AppUser запись в формате json, используя это:
ResourceSpace.Has.ResourcesOfType<AppUser>()
.AtUri("/user").HandledBy<UserHandler>().AsJsonDataContract();
Но я получаюошибка:
1014 * System.Runtime.Serialization.SerializationException: Тип 'System.Data.Entity.DynamicProxies.UserAppVersion_FD8D86F0A3AE39A0C370918637C1A90AD8D3ACA3E149677EA82C0A8D10ED0F8D' с именем контракта данных «UserAppVersion_FD8D86F0A3AE39A0C370918637C1A90AD8D3ACA3E149677EA82C0A8D10ED0F8D:
http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies' не ожидается.Попробуйте использовать DataContractResolver или добавить любые типы, которые не известны статически, в список известных типов - например, с помощью атрибута KnownTypeAttribute или добавив их в список известных типов, переданных в DataContractSerializer.
К сожалению, я нене знаю, как решить эту проблему.Есть предложения?