У меня есть WCF DataService со следующими моделями CodeFirst:WCF DataServices + Silverlight + Entity Framework CodeFirst объектная модель является нулевым
public class Project
{
public int ProjectID { get; set; }
public string Name { get; set; }
public virtual Owner Owner { get; set; }
}
public class Owner
{
public int OwnerID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
У меня также есть стандарт, поддерживающий классы SchedulerContext
, SchedulerContextInitializer
и SchedulerService.svc
. Мой сервис выглядит так:
Я добавил ссылку на службу в свой проект Silverlight просто отлично. Я могу просмотреть службу в своем браузере и посмотреть мои данные о семени. Когда я перехожу к http://localhost:31560/SchedulerService.svc/Projects(1)/Owner
, я могу видеть данные о семени. Тем не менее, когда мои проекты нагрузки в моем Silverlight классе доступа к данным: Владелец
public class SchedulerService : ISchedulerService
{
public SchedulerService()
{
var context = new SchedulerContext(new Uri("/SchedulerService.svc", UriKind.Relative));
this.Projects = new DataServiceCollection<Project>();
DataServiceQuery<Product> query = context.Projects;
this.Projects.LoadAsync(query);
}
public DataServiceCollection<Project> Projects { get; private set; }
}
каждого проекта является всегда нулевой! Как это исправить?!
Вот оно, спасибо! Если кому-то это интересно, я также нашел способ избежать «магических строк» с помощью [ODataMuscle] (http://elegantcode.com/2010/10/17/odatas-dataservicequery-and-removing-the-expandmagicstrings-part-ii/). – Pakman