Windows Phone本地数据库(SQLCE):6、[Index] attribute(翻译)(转)

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

首先、要说到的是,windows phone 7.1上基本的数据库功能是SQL Compact关于Mango的一个实现。你将使用linq to sql访问存储在数据库上的数据。

注释:[Index] attribute在:

Namespace:Microsoft.Phone.Data.Linq.Mapping

Assembly: System.Data.Linq (in System.Data.Linq.dll)

1、[Index] attribute是什么

从根本上说,[Index] attribute指定一个额外的索引到本地数据库的表上。写到表级别上,在表上指定额外的索引。每一个索引可以覆盖一个到多个列。

注释:[Index] attribute通常被数据库引擎在内部使用。这意味着,除了定义索引之外,你不需要写LINQ to SQL查询或者为了使用索引而做一些其他不同的事情。

2、为什么要使用[Index] attribute

如果你在LINQ查询中使用“where”子句、“orderby”子句或者“join”子句,在适当的列上的索引能极大地提高性能。

注释:[Index] attribute通常被数据库引擎在内部使用

3、怎么使用[Index] attribute

Index attribute有下面几个重要属性:

  • 1、Columns:获取或设置索引基于的列
  • 2、IsUnique:获取或设置一个值,这个值表明这个索引是否是唯一的,唯一索引 不允许任意两行具有相同的索引键值
  • 3、Name:获取或设置索引的名字

示例1:

 1 [Index(Columns = "Name", IsUnique = true, Name= "city_Name")]
 2 [Table]
 3 public class City
 4 {
 5     private Nullable<int> countryID;
 6
 7     [Column(IsPrimaryKey = true, IsDbGenerated = true)]
 8     public int ID
 9     {
10         get;
11         set;
12     }
13
14     [Column(CanBeNull = false)]
15     public string Name
16     {
17         get;
18         set;
19     }
20
21     [Column(Storage = "countryID", DbType = "Int")]
22     public int? CountryID
23     {
24         get
25         {
26             return this.countryID;
27         }
28         set
29         {
30             this.countryID = value;
31         }
32     }
33 //...
34 }

示例查询(注释:你的LINQ to SQL查询看起来像是以同样的而不使用任何索引方式进行查询,但提高了性能)

1 var query = from c in context.City where p.Name ="London" select p;

这篇文章我谈了有关在windows phone mango本地数据库中使用[Index] attribute。请继续关注接下来的文章。

Windows Phone本地数据库(SQLCE):6、[Index] attribute(翻译)(转)

时间: 2024-12-25 04:19:59

Windows Phone本地数据库(SQLCE):6、[Index] attribute(翻译)(转)的相关文章

Windows Phone本地数据库(SQLCE):5、[Association]attribute(翻译)(转)

这是“windows phone mango本地数据库(sqlce)”系列短片文章的第五篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点. 我将谈谈在windows phone mango本地数据库时使用[Association] attribute. 首先.要说到的是,windows phone 7.1上的数据库功能是SQL Compact关于Mango的一个实现.你将使用linq to sql访问存储在数据库上的数据. 1.

Windows Phone本地数据库(SQLCE):3、[table]attribute(翻译) (转)

这是“windows phone mango本地数据库(sqlce)”系列短片文章的第三篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点.这个时候我将谈谈有关你使用windows phone mango本地数据库时使用[table]attribute. 1.[Table]attribute是什么? 你可以使用这个属性来指定一个类作为与数据库表或视图有关的实体类.LINQ to SQL将有这个属性的类作为持久化类. 你可以使用Ta

Windows Phone本地数据库(SQLCE):4、[Column]attribute(翻译) (转)

这是“windows phone mango本地数据库(sqlce)”系列短片文章的第四篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点.我将谈谈在windows phone mango本地数据库时使用[Column] attribute. 首先,要说到的是,windows phone 7.1上的数据库功能是SQL Compact关于Mango的一个实现.你将使用linq to sql访问存储在数据库上的数据. 1.[Colum

Windows Phone本地数据库(SQLCE):1、介绍(翻译)(转)

一只大菜鸟,最近要学习windows phone数据库相关的知识,找到了一些比较简短的教程进行学习,由于是英文的,顺便给翻译了.本身英语水平就不好,估计文中有不少错误,如果有不幸读到的童鞋请保持对翻译质量的质疑,多多指教. 这是原文地址:http://windowsphonegeek.com/tips/Windows-Phone-Mango-Local-Database%28SQL-CE%29-Introduction 正文如下: 我开始了一个新的系列——Windows Phone Mango本

Windows Phone本地数据库(SQLCE):7、Database mapping(翻译)

这是“windows phone mango本地数据库(sqlce)”系列短片文章的第七篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点. 我将谈谈在数据库中映射类到表中,也就是说,在你的对象模型和数据库模式之间映射. 1.Database mapping是什么 为了创建一个本地数据库,第一,你必须定义实体类.这些类定义了你的对象模型和它到数据库模式上的映射.LINQ to SQL的对象关系能力取决于映射的详细信息,以此来创建一

Windows Phone本地数据库(SQLCE):2、LINQ to SQL(翻译)(转)

首先.要说到的是,windows phone 7.1上基本的数据库功能是SQL Compact关于Mango的一个实现,使用linq to sql访问存储在数据库上的数据. 1.LINQ to SQL是什么 LINQ to SQL 是一个作为.NET Framework上的一部分的ORM(对象关系映射)框架.它允许你映射你的业务对象(business object)(模型类)到数据库中的表,然后可以不用写单一的SQL语句来访问或查询数据库中的数据.随着Mango的更新,LINQ to SQL现在

Windows Phone本地数据库(SQLCE):8、DataContext(翻译)

这是“windows phone mango本地数据库(sqlce)”系列短片文章的第八篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点.我将谈谈在windows phone mango本地数据库中使用DataContext的问题. 1.DataContext是什么 DataContext的用途是以面向对象的方式来显示数据库到其余的代码上.DataContext有三个重要的特点: (1)它从System.Data.Linq.Da

Windows Phone本地数据库(SQLCE):12、插入数据(翻译)

这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十二篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点.我将谈谈在windows phone mango本地数据库里怎么插入数据. 插入数据到数据库是一个两个步骤的过程.首先使用InsertOnSubmit 方法添加一个对象到DataContext,然后调用DataContext的SubmitChanges 方法来将保存数据作为数据库中的行. 注

Windows Phone本地数据库(SQLCE):9、Connection Strings(翻译) (转)

这是“windows phone mango本地数据库(sqlce)”系列短片文章的第八篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点.我将谈谈在windows phone mango本地数据库中使用Connection Strings的问题. 1.ConnectionStrings是什么 在我们实际开始使用一个数据库之前,我们需要制定一个连接字符串,它告诉应用程序怎么连接数据库.一个连接字符串可以被用来做数据库的配置值.在连