none
Silverlight RIA 使用POCO方式在客户端无法获取到子类对象 RRS feed

  • 问题


  • 
    

    1.服务端代码
      public class Menu
        {
            [Key]
            public int ID { getset; }
            public string Name { getset; }
            [IncludeAssociation("Menu_Category""ID""ID")]
            public List<CategoryCategoryList { getset; }
        }
     public class Category
    {
            [Key]
            public int ID { getset; }
            public string Title { getset; }
        }
     [EnableClientAccess()]
        public class BIDomainService : DomainService
        {
            public List<MenuGetMenuList()
            {
                return MenuBLL.GetMenuList();
            }
        }
    2.在客户端
    
    	private void InitMenu()
            {
                cxt.Load(cxt.GetMenuListQuery(), LoadBehavior.RefreshCurrentCallbacknull);
            }
            private void Callback(LoadOperation<Menuresult)
            {
                if (!result.HasError)
                {
                    Menu.ItemsSource = result.Entities.ToList();
                }
                else
                {
                    MessageBox.Show(result.Error.Message);
                }
            }
     Menu.ItemsSource = result.Entities.ToList(); 
    这一句返回的数据中List<Category>对象对应Menu在服务端是有两条数据的,但是在客户端只有一条数据,不知道怎么回事啊,
    大虾们帮忙看看啊!

    2011年4月12日 0:36

全部回复

  • 你好,

    你说“List<Category>对象对应Menu在服务端是有两条数据的”是指以下方法可以返回两条数据吗?你测试过吗?

            public List<Menu> GetMenuList()
            {
                return MenuBLL.GetMenuList();
            }

    如果可以,能否贴多点代码以便我们可以发现问题所在。

    谢谢。


    Daoping Liu - MSFT
    2011年4月14日 5:13
    版主
  • 不是,是在客户端,服务端是正常的,

    在服务端的数据是一个树状结构的对象,在客户端返回的数据在每个父节点下只有一条数据,而其实有几条数据

    2011年4月14日 10:06
  • 还有,我在服务端的一个方法用的是一个对象作为参数,而在客户端并没有生成这个对象,已经添加了Invoke标签

    2011年4月14日 10:08