none
DomainServices添加自定义返回数据方法 RRS feed

  • 问题

  • 我用的是Vs 2010 Ultimate版  silverlight4.0
    我写了一个BusinessApplication项目在添加DomainServices的时候遇到了问题!如何在DomainServices里面添加自定义返回数据的方法

     // TODO:
            // Consider constraining the results of your query method.  If you need additional input you can
            // add parameters to this method or create additional query methods with different names.
            // To support paging you will need to add ordering to the 'Equity_User' query.
            [Query(IsDefault = true)]
            public IQueryable<Equity_User> GetEquity_User()
            {
                return this.ObjectContext.Equity_User;
            }

            // TODO:
            // Consider constraining the results of your query method.  If you need additional input you can
            // add parameters to this method or create additional query methods with different names.
            // To support paging you will need to add ordering to the 'Salesman_User' query.
            [Query(IsDefault = true)]
            public IQueryable<Salesman_User> GetSalesman_User()
            {
                return this.ObjectContext.Salesman_User;
            }

            // TODO:
            // Consider constraining the results of your query method.  If you need additional input you can
            // add parameters to this method or create additional query methods with different names.
            // To support paging you will need to add ordering to the 'Shareholder_User' query.
            [Query(IsDefault = true)]
            public IQueryable<Shareholder_User> GetShareholder_User()
            {
                return this.ObjectContext.Shareholder_User;
            }

    [Query(IsDefault = true)]
            public int Select_Equity_User()
            {
                int count = 0;
                var equity_Equ = from equity in this.ObjectContext.Equity_User select equity;
                count = equity_Equ.Count();
                return count;
            }

    我添加了一个自定的方法但是提示错误

    Error 1 Type 'Int32' is not a valid entity type.  Entity types cannot be a primitive type or a simple type like string or Guid. DBSoft.StockManager

    2010年5月8日 2:42

答案

全部回复

  • [Query] 这个属性要求方法必须返回 Entity的,你返回int,那这个方法其实不是"Query", 而是[Invoke] 方法.

    reference:

    http://msdn.microsoft.com/en-us/library/ee707373(v=VS.91).aspx

    2010年5月8日 19:54
  • 谢谢!原来来是那个签名的事!

    大哥,还有一个问题我在Silverlight调用方法的时候返回值 总是0呢!记录是可定有的!

     

           [Invoke]
            public int Select_Equity_UserById(string card)
            {
                var coun = from equity in this.ObjectContext.Equity_User
                           where equity.Card == card
                           select equity;
                int count = 0;
                count = coun.Count();
                return count;
            }

    Equity_UserDomainContext equity_userdomaincontext = new Equity_UserDomainContext();
                    MessageBox.Show(equity_userdomaincontext.Select_Equity_UserById(Card.Text.ToString()).Value.ToString());

    我断点调试的时候是先弹出的0 ,然后断点跳到DomainServices方法的时候 !提示那个count=1

    2010年5月10日 1:17
  • 所有的RiaService 方法都是异步的,所以你不能立刻查看刚刚调用的方法,你要在InvokeOperation.Completed的callback中去查看返回值.

    2010年5月10日 4:57
  • 哦!谢谢 !问题已经解决了
    Static
    • 已标记为答案 StaticYu 2010年5月10日 6:42
    2010年5月10日 6:42