2012-03-14 5 views
0

У меня есть 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; } 
} 

каждого проекта является всегда нулевой! Как это исправить?!

ответ

1

Вы пробовали:

context.Projects.Expand("Owner"); 
+0

Вот оно, спасибо! Если кому-то это интересно, я также нашел способ избежать «магических строк» ​​с помощью [ODataMuscle] (http://elegantcode.com/2010/10/17/odatas-dataservicequery-and-removing-the-expandmagicstrings-part-ii/). – Pakman

Смежные вопросы