这是“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查询数据库。请继续关注接下来的文章。
Windows Phone本地数据库(SQLCE):11、使用LINQ查询数据库(翻译) (转)