linq

using System;
using System.Linq;
using System.Collections.Generic;

namespace Chapter19
{
    class SimpleLinqToObjects
    {
        static void Main(string[] args)
        {
            string[] names = { "James Huddleston", "Pearly", "Rupali Agarwal", "Fabio Claudio", "Vamika Agarwal", "Ami Knox", "Vidya Vrat Agarwal" };
            IEnumerable<string> namesOfPeople = from name in names
                                                where name.Length <= 16
                                                select name;
            foreach (string name in namesOfPeople)
                Console.WriteLine(name);
            Console.ReadLine();
        }

    }
}
可见,linq和SQL非常类似。linq可以用于数据库,xml文档,内存中的数据查询。
using System;
using System.Linq;
using System.Data.Linq;
using System.Data.Linq.Mapping;

namespace Chapter19
{
    [Table]
    public class stu
    {
        [Column]
        public int studentID;
        [Column]
        public string studentName;
        [Column]
        public string studentSex;
    }

    class LinqToSql
    {
        static void Main(string[] args)
        {
            // connection string
            string connString = @"
            server = localhost;
            integrated security = true;
            database = student
         ";

            // create data context 
            DataContext db = new DataContext(connString);
            /*创建数据上下文,数据上下文执行与ADO.NET连接相同的操作,但是它也执行数据提供程序
             所处理的操作。数据上下文不仅仅管理数据源的连接,也将linq请求(通过SQO表达)转换为
             SQL,将该SQL传递给数据库服务器,并且通过结果集创建对象。《c#2008数据库入门经典(第4版)》*/
            // create typed table 
            Table<stu> customers = db.GetTable<stu>();

            // query database
            var custs =
               from c in customers
               select
                  c
            ;

            // display customers
            foreach (var c in custs)
                Console.WriteLine(
                   "{0}, {1}, {2}",
                   c.studentID,
                   c.studentName,
                   c.studentSex
                );
            Console.ReadLine();
        }
    }
}

linq确实简单,不需要数据库命令,打开关闭connection,创建阅读器。当c#看到var时,会用=右边的类型推断局部变量的类型。

要特别注意的是,由于变量的类型是通过变量初始值推断而来的,所以在声明变量的同时必需为变量指定初始值。并且,变量并不是没有类型的,

变量一旦初始化之后,类型就确定下来了,以后就只能存储某种类型的值了,比如上面的stringValue的类型经推断为string,所以该变量就只能保存string类型的值了。

本例中‘var’可以用‘stu’替换
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值