2012-03-14 48 views
0

我有一个WCF的DataService具有以下CodeFirst型号:WCF DataService的Silverlight的+ +实体框架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; } 
} 

我也有支持类SchedulerContextSchedulerContextInitializerSchedulerService.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 2012-03-15 20:19:25

相关问题