这是“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(翻译)(转)的更多相关文章

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

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第五篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

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

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第四篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

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

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第三篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

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

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第七篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

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

    一只大菜鸟,最近要学习windows phone数据库相关的知识,找到了一些比较简短的教程进行学习,由于是英文的,顺便给翻译了.本身英语水平就不好,估计文中有不少错误,如果有不幸读到的童鞋请保持对翻译 ...

  6. Windows Phone本地数据库(SQLCE):14、删除数据(翻译)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的最后一篇第十四篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需 ...

  7. Windows Phone本地数据库(SQLCE):13、更新数据(翻译)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十三篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的 ...

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

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十二篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的 ...

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

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

随机推荐

  1. 转:CSS定位属性详解

    转载:https://juejin.im/post/5a1bb35ff265da43231ab164 这篇文章对css的绝对定位和相对定位有详细的解释

  2. 【OpenCV for Android】Android Studio集成OpenCV

    准备工作 1.下载安装Android Studio(过程略). 2.下载Android OpenCV:https://opencv.org/releases.html,找到Android pack点击 ...

  3. hdu 1272 判断所给的图是不是生成树 (并查集)

    判断所给的图是不是生成树,如果有环就不是,如果没环但连通分量大于1也不是 find函数 用递归写的话 会无限栈溢出 Orz要加上那一串 手动扩栈 Sample Input6 8 5 3 5 2 6 4 ...

  4. K8s中,tomcat的一部分jvm参数,如何通过env环境变量传递?

    这两天解决的一个需求: 如果用户没有在deployment中设置env参数,则tomcat默认使用1G左右的内存: 如果用户在deployment中提供了jvm参数,则tomcat将这部分的参数,覆盖 ...

  5. rpm包软件管理

    一.rpm介绍 linux服务器中所有的软件包安装方式有两种,一种是源码安装.另一种是二进制包安装(rpm)源码包安装的好处是适合不同的发行版本的linux,缺点是在编译过程中花费的时间很长,二进制包 ...

  6. 【LOJ】#6435. 「PKUSC2018」星际穿越

    题解 想出70的大众分之后就弃疗了,正解有点神仙 就是首先有个比较显然的结论,就是要么是一直往左走,要么是走一步右边,然后一直往左走 根据这个可以结合RMQ写个70分的暴力 我们就考虑,最优的话显然是 ...

  7. @ControllerAdvice + @ExceptionHandler 使用

    一.简介 @ControllerAdvice,是spring3.2提供的新注解,意思是控制器增强. 下面是它的解释. 大致意思是, 1.表示标有这个注解的类是一个Controller.它有一个默认行为 ...

  8. 001.Pip简介安装使用

    一 PIP简介 pip类似RedHat里面的yum,使用PIP安装软件非常便捷快速. 二 PIP下载安装 方式一: [root@localhost ~]# yum install -y epel-re ...

  9. NLP自然语言处理系列5-支持向量机(SVM)

    1.什么是支持向量机 支持向量机(Support Vector Machine,SVM)是一种经典的分类模型,在早期的文档分类等领域有一定的应用.了解SVM的推导过程是一个充满乐趣和挑战的过程,耐心的 ...

  10. 跟厂长学PHP7内核(八):深入理解字符串的实现

    在前面大致预览了常用变量的结构之后,我们今天来仔细的剖析一下字符串的具体实现. 一.字符串的结构 struct _zend_string { zend_refcounted_h gc; /* 字符串类 ...