如何在Silverlight中使用带有“DataSet”返回类型的WCF方法

时间:2010-12-20 19:08:34

标签: c# silverlight wcf

我的WCF Web服务中的10+个方法返回一个DataSet类型的对象

 public System.Data.DataSet ReturnData()
        {
            DataSet dataSet = new DataSet();
            //do some work on the dataset
            return dataSet;
        }

我想在我的silverlight应用程序中使用此WCF Web服务。

问题:DataSet未解析,因为System.Data.dll没有出现在Silverlight应用程序的添加引用部分中。

是否有解决方法或解决方案?

1 个答案:

答案 0 :(得分:2)

查看DataSet for Silverlight Applications

但我建议你把它写成课程

修改 为了向您展示如何使用而不是classe,我举一个例子

  public class Person
    {
        private int gID;
        private String gFirstName="";
        private String gLastName = "";


        public int ID
        {
            get 
            {
                return gID;
            }
            set
            {
                gID = value;
            }
        }

        public String FirstName
        {
            get
            {
                return gFirstName;
            }
            set
            {
                gFirstName= value;
            }
        }


        public String LastName
        {
            get
            {
                return gLastName;
            }
            set
            {
                gLastName = value;
            }
        }
    }

   public class Persons
    {
        private List<Person> gListOfPerson;

        public List<Person> All
        {
            get
            {
                if (gListOfPerson == null)
                {
                    gListOfPerson= new List<Person>();
                }
                return gListOfPerson;
            }
            set
            {
                gListOfPerson=value;
            }
        }

    }

public Persons ReturnData()
{            
                 DataSet  vDS = new DataSet();
                 //get data from SQL Server or what ever in a DataSet...

                foreach(System.Data.DataTable t in vDS.Tables)
                {
                    Persons  vPersons = new Persons();
                    foreach(System.Data.DataRow dr in t.Rows)
                    {
                        Person vPerson = new Person();
                        int vtryInt;
                        int.TryParse(dr["ID"].ToString(), out vtryInt);
                        vPerson.ID = vtryInt;
                        vPerson.FirstName = dr["FirstName"].toString();
                        vPerson.LastName = dr["LastName"].toString();

                        vPersons.All.Add(vPerson);
                    }


                    return vPersons ;
 }