В WCF Web API Preview 6 внутри одного из моих сервисов я использовал объект, который напрямую взят из EF 4.2, и получил следующую ошибку:
Невозможно сериализовать член DataAccess.SqlServer.Resort.Размещение свойств типа System.Collections.Generic.ICollection`1 [[DataAccess.SqlServer.AccommProperty, DataAccess, Version = 1.0.4350.30311, Culture = нейтральный, PublicKeyToken = null]], поскольку это интерфейс.
Это код моего сервиса:
[WebGet]
public HttpResponseMessage<IQueryable<DataAccess.SqlServer.Resort>> GetAll() {
var resorts = _resortRepo.GetAll(
ApprovalStatus.Approved
);
var resortsResponse =
new HttpResponseMessage<IQueryable<DataAccess.SqlServer.Resort>>(resorts);
resortsResponse.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddHours(6));
return resortsResponse;
}
Ниже приведен класс Resort, который я пытаюсь раскрыть выше:
public partial class Resort
{
public Resort()
{
this.AccommProperties = new HashSet<AccommProperty>();
this.ResortDetails = new HashSet<ResortDetail>();
}
public int ResortID { get; set; }
public int DestinationID { get; set; }
public System.Guid ResortGUID { get; set; }
public Nullable<int> SecondaryID { get; set; }
public string ResortName { get; set; }
public Nullable<bool> IsApproved { get; set; }
public string ResortType { get; set; }
public virtual ICollection<AccommProperty> AccommProperties { get; set; }
public virtual Destination Destination { get; set; }
public virtual ICollection<ResortDetail> ResortDetails { get; set; }
}
Как в сообщении об ошибке сказаноЯ не могу сериализовать интерфейс .Но что я должен делать все мои объекты EF?