LINQ学习(三)数据源LINQ to DataSet

2 篇文章 0 订阅

LINQ to DataSet

投影

image

 

SqlDataAdapter sda = new SqlDataAdapter("select * from student", new SqlConnection("server=(local);database=myschool;Integrated Security=true"));
            DataSet ds = new DataSet();
            sda.Fill(ds);
            DataTable dt = ds.Tables[0];

 

基于方法的
            var Student = dt.AsEnumerable().Select(student => new { studentname = student.Field("studentname") });
            Console.WriteLine(Student.GetType().ToString());
            foreach (var studentname in Student)
            {
                Console.WriteLine(studentname.studentname);
           
            }

基于表达式的

var Student2 = from student in dt.AsEnumerable() select student.Field("studentname");

            foreach (var studentname in Student2)
            {
                Console.WriteLine(studentname);

            }

 

这里的student都由编译器决定,应为dt都被转换为一个IEnumberable的类型(这里就为IEnumberable,student就为一个DataRow)

image

筛选

var Student = dt.AsEnumerable().Select(student => new { studentname = student.Field<string>("studentname"), studentSex = student.Field<string>("sex") }).Where (Studentnew=>Studentnew .studentSex =="男");
//在where前的结果相当于一个有sex和name成员的类的实例,也就定义了Studentnew
foreach (var studentname in Student)
{
Console.WriteLine(studentname.studentname);

}

Console.WriteLine(Student.GetType().ToString()+"shuliang:"+Student .Count ());

var Student2 = from student in dt.AsEnumerable() where student.Field<string>("sex") == "男" select new { studentname = student.Field<string>("studentname"), studentSex = student.Field<string>("sex") };

foreach (var student in Student2)
{
Console.WriteLine(student.studentname +student .studentSex );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值