Linq学习(三)-Linq TO SQL

Linq To SQL
   Linq里那些查询操作都是给IEnumerable接口添加的扩展方法.Linq To Object 不用说也知道怎么用了,主要对一些继承IEnumerable接口的对象进行操作。Linq TO SQL 是针对微软SQL Server数据库进行操作的,可以当作一个ORM,某种程度上功能可以说是.Net中NHibernate,可惜只针对SQL Server,还有开源有支持其他的数据库或数据存储文件。
  (1)构造一个实体映射表
    [Table(Name = "Customers")]//对应Northwind数据库中的“Customers”表
    public class Customer
    {
        [Column(IsPrimaryKey=true)]//主键
        public string CustomerId { get; set; }

        [Column(Name = "ContactName")]//Customers表中的"ContactName"字段,并重命名为Name
        public string Name{get;set;}

        [Column]
        public string City { get; set; }

        [Column]
        public string Fax { get; set; }

        public override string ToString()
        {
            return String.Format("Id={0},Name={1}",this.CustomerId,this.Name);
        }
    }
  (2)获取表中数据:Linq To SQL 入口点为DataContext
           public List<Customer> GetList()
        {
            //连接字符串
            string connectionString = "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI";
            DataContext dct = new DataContext(connectionString);
            Table<Customer> customer = dct.GetTable<Customer>();
            return customer.ToList<Customer>();
        }
 (3)调用得到结果
        static void Main(string[] args)
        {
            ToSQL sql = new ToSQL();
            List<Customer> list = sql.GetList();
            var result = from p in list
                         select new { Id = p.CustomerId, Name = p.Name };
            foreach (var item in result)
            {
                Console.WriteLine(item.ToString());
            }
            Console.Read();
           
        }

 

posted @ 2009-12-15 19:59  wakerobin  阅读(381)  评论(0编辑  收藏  举报