none
DataGrid 怎么加载关联实体 RRS feed

  • 问题

  •  domainContext里:

    public IQueryable<Employee> GetEmployeeBargain()
            {
                return this.Context.Employee.Include("Bargain");//把Bargin表的数据一起传输(有外键employeeID)
              }

    在前台用datagrid绑定 :
    domainContext.Load(domainContext.GetEmployeeBargainQuery());
    TheDataGrid.ItemsSource = domainContext.Employees;

    DataGrid 已经自定义了列,也只能绑定到employee表的数据,无法显示Bargain的数据。
    请问RIA Service 怎么加载关联实体数据?

    2009年12月24日 5:56

答案

  • 你好,  
      
          首先,确定你的外建关系正确建立. 
     
          然后在metadata class中也在需要include的字表中加入[include]属性.
     
          类似这样
      
            internal sealed class EmployeeMetadata
            {

                // Metadata classes are not meant to be instantiated.
                private StudentMetadata()
                {
                }

                public int ID;

                public string Name;

                public Nullable<int> BargainID;
        
                [Include]
                public Bargain MyBargin;

            }

            另外,你的附加属性名最好与类名不一致,否则也会无法取得正确的数据。 如public Bargain Bargin这样最好不要用。

    • 已标记为答案 SimonFang 2009年12月29日 17:01
    2009年12月25日 7:42

全部回复

  • 你好,  
      
          首先,确定你的外建关系正确建立. 
     
          然后在metadata class中也在需要include的字表中加入[include]属性.
     
          类似这样
      
            internal sealed class EmployeeMetadata
            {

                // Metadata classes are not meant to be instantiated.
                private StudentMetadata()
                {
                }

                public int ID;

                public string Name;

                public Nullable<int> BargainID;
        
                [Include]
                public Bargain MyBargin;

            }

            另外,你的附加属性名最好与类名不一致,否则也会无法取得正确的数据。 如public Bargain Bargin这样最好不要用。

    • 已标记为答案 SimonFang 2009年12月29日 17:01
    2009年12月25日 7:42
  • 多谢 Min-Hong Tang,终于弄懂了。
    2009年12月29日 17:02
  • 学习了。顺便问下,坛子里有收藏功能吗?
    2010,用心去过!
    2010年1月4日 2:48