首页 > 代码库 > Windows Phone本地数据库(SQLCE):11、使用LINQ查询数据库(翻译) (转)

Windows Phone本地数据库(SQLCE):11、使用LINQ查询数据库(翻译) (转)

这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十一篇。 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点。我将谈谈在windows phone mango本地数据库里怎么使用LINQ查询数据库。

1、数据库查询是什么

    在windows phone上,语言集成查询(LINQ)被用作查询数据库。LINQ常用于表示对象和实际数据之间的连接。LINQ to SQL中的查询使用和LINQ 的查询相同的语法。
    因为在LINQ to SQL查询中,对象引用是映射到数据库中的记录的。LINQ to SQL不同于其他LINQ技术执行的查询。在应用层里,一个典型的LINQ查询是在内存中执行的。包括LINQ to SQL,使用runtime的对象关系能力,每一个LINQ查询都被翻译成Transact-SQL并且直接在数据库中执行,这可以提高一个查询的性能例如从一个大的数据库中查询一些记录。
参考:你可以看一下MSDN文档http://msdn.microsoft.com/zh-cn/library/hh202861(v=vs.92).aspx
你也可以看看本系列的第二篇

2、怎么选择数据

   在接下来的示例中,利用LINQ to SQL查询,一个叫做“CountryDataContext”的DataContext对象,结果放在名字叫做“ countryList ”的Country类的IList集合。
注释:在接下来的示例里,我们将使用“ CountryDataContext”这个DataContext,这在之前的文章中有解释过。
示例1:从数据库中选择所有的Country记录
 1 private IList<Country> GetCountries() 2  { 3      IList<Country> countryList = null; 4      using (CountryDataContext context = new CountryDataContext(ConnectionString)) 5      { 6          IQueryable<Country> query = from c in context.Countries select c; 7          countryList = query.ToList(); 8      } 9    10      return countryList;11  }

示例2:从数据库中选择所有名字以“U”开头的country记录

 1 private IList<Country> GetCountriesStartingWithU() 2  { 3      IList<Country> countryList = null; 4      using (CountryDataContext context = new CountryDataContext(ConnectionString)) 5      { 6          IQueryable<Country> query =  7              from c in context.Countries  8              where c.Name.StartsWith("U")  9              select c;10          countryList = query.ToList();11      }12   13      return countryList;14  }

    这篇文章我谈论了在windows phone mango使用LINQ查询数据库。请继续关注接下来的文章。