A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柏森仁 中级黑马   /  2012-8-10 15:09  /  1599 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

linq to sql 基本上,能解决90%的sql问题,但还是不能代替sql语句,有时候,我们知道sql语句怎么写(毕竟对sql语句熟悉些),但是,用linq 不知道该怎么写,那么现在我告诉你,不用再去 弄一套sql的增删改查的DBHelper类了, linq 提供了一个可以 使用sql语句的方法,这个,就解决了太多的问题了.

请看下面的代码(为了方便复制,就不显示行号了,那个看起来都觉得...)
  1. public void Bind()
  2.         {
  3.             string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;//连接的字符串
  4.             using (DataClasses1DataContext dc = new DataClasses1DataContext(conStr))
  5.             {
  6.                 dc.Connection.Open();//打开连接
  7.                 SqlCommand com = new SqlCommand("select id,title,author from books", dc.Connection as SqlConnection);//创建command
  8.                 using (SqlDataReader reader = com.ExecuteReader())//执行读取,只读只进
  9.                 {
  10.                     this.GridView1.DataSource = dc.Translate<Books>(reader).ToList().Take(10);//取出 数据(我只要10条)
  11.                     this.GridView1.DataBind();//绑定数据到页面上
  12.                 }
  13.             }      
  14.         }
复制代码
linq  to sql 的解决方法
  1. public void Band()
  2.         {
  3.             using (DataClasses1DataContext dc=new DataClasses1DataContext())
  4.             {
  5.                 var lstr = from c in dc.Books
  6.                         select new
  7.                         {
  8.                             c.Id,
  9.                             c.Title,
  10.                             c.Author
  11.                         };
  12.                 this.GridView1.DataSource = lstr.ToList().Take(10);
  13.                 this.GridView1.DataBind();
  14.             }
  15.         }
复制代码
是不是 linq 也很简单啊

通过这个例子,以后就可以 直接用linq做很多事情了,不会写linq to sql 也没关系

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

1 个回复

倒序浏览
太有才了,值得学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马