linq to Dataset

来源:互联网 发布:广东干部教育培训网络 编辑:程序博客网 时间:2024/05/16 08:23

关于Linq to DataSet的一个小小的实例

  1. 首先要填充一个dataset,只有里面有数据对象,我们才可以对其使用linq
  2. 对其中的数据表,我们还要将其转换为IEnumerable<T>泛型接口
static void Main(string[] args)        {            DataSet ds = FillDataSet();            DataTable dt = ds.Tables[0];            //构建一个IEnumerable<T>的集合            //为了linq查询            var query = dt.AsEnumerable();            //取得数据,延迟查询            var v = from u in query                    where u.Field<int>("id")!=0                    select u;            //得到所有的数据            foreach (var vv in v)                Console.WriteLine(vv.Field<int>("id") + " " + vv.Field<string>("Title")+" "+vv.Field<string>("Author")+" "+vv.Field<DateTime>("Time"));                        Console.Read();        }        //首先要填充一个dataset        static DataSet FillDataSet()        {            //创建一个新的dataset实例            DataSet ds = new DataSet("books");            //创建一个datatable实例            DataTable dt = new DataTable("book");            //接下来是构建datatable的列            DataColumn dc1 = new DataColumn("id", typeof(int));         //包括列的名称和数据类型            dt.Columns.Add(dc1);            DataColumn dc2 = new DataColumn("Title", typeof(string));            dt.Columns.Add(dc2);            DataColumn dc3 = new DataColumn("Author", typeof(string));            dt.Columns.Add(dc3);            DataColumn dc4 = new DataColumn("Time", typeof(DateTime));            dt.Columns.Add(dc4);            string[] names = { "c#", "java", "c++","vb" };            string[] authors = { "李莉莉", "李莉莉", "李莉莉", "李莉莉" };            //为datatable添加数据行            for (int i = 0; i < names.Length; i++)            {                DataRow dr = dt.NewRow();                dr["id"] = i;                dr["Title"] = names[i];                dr["Author"] = authors[i];                dr["Time"] = DateTime.Now.AddDays(30);                dt.Rows.Add(dr);            }            ds.Tables.Add(dt);            return ds;        }

原创粉丝点击