客服:点击这里给我发消息

手机:15193566610 马先生

奈特网络科技,武威网站建设公司

您的位置:当前位置:武威网站-武威奈特网 > 网站建设 > 建站知识 >

步步学LINQ to SQL:使用LINQ检索数据

来源:未知   发表时间:2015-11-10 10:31

      该系列教程描述了如何采用手动的方式映射你的对象类到数据表(而不是使用象SqlMetal这样的自动化工具)以便能够支持数据表之间的M:M关系和使用实体类的数据绑定。即使你选择使用了自动生成类的工具,理解这一实现过程可以让你更加方便地对你的应用程序加以扩展。

      一旦你将数据库表映射到对应的类对象上并在DataContext中申明了到数据库的映射关系,你就可以不需要使用一行数据库代码(SQL语句)访问数据了。

      通过一个简单的示例BookCatalog(强类型的DataContext)来说明,你可以通过使用在Authors, Books, 和 Categories中定义的集合从数据库中访问book, author, 和 category。

    \"\"

      例如,要查找书的类别,你所要做的就是循还bookCatalog.Books对象并且LINQ会自动地查找数据库(通过映射关系)并填充你使用的集合---使用Book类为要查找的每本书创建一个实例:

     

    以下是代码片段:
    IEnumerable cheapBooks = from book in bookCatalog.Books
      where book.Price.CompareTo( 30m ) < 0
      select book;
    •  

        LINQ的延期执行意味着对books集合的检索不会即时从数据库取得直到实际需要时才进行(例如,使用一个foreach循还),因此我们可以保持应用的过滤条件,然后限制查询的数据以确保读取数据的效率。

       

        例如,你以后可以使用LINQ提供的orderby语法来定义上面的结果集将数据按书的标题进行排序。

       

      以下是代码片段:
      BookCatalog bookCatalog = new BookCatalog( );
        IEnumerable cheapBooks = from book in bookCatalog.Books
        where book.Price.CompareTo( 30m ) < 0
        select book;
        IEnumerable sortedBooks = from book in cheapBooks
        orderby book.Title
        select book;
        foreach( Book book in sortedBooks ) { ... }

       

        现在我们一起看看如何映射对象之间的关系以便你能够操作这些对象(例如book.Author.Name)