这是“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. C#使用mybatis学习笔记

    1.官网:http://mybatis.org/index.html 2.代码:https://code.google.com/p/mybatisnet/ 3.wiki:http://zh.wikip ...

  2. cas:覆盖安装

    1.首先到github上下载最新的模板代码 https://github.com/apereo/cas-overlay-template 下载完成后,导入该工程. 2.编译打包 cd cas-over ...

  3. vs 连接过程报错 dll 分析 ------- DLL动态链接库

    1:编译成功,说明代码没有问题了2:连接报错,说明 exe 在查找dll 的入口地址过程,找不到合适的信息,这些信息保存在 dll 对应的 *.lib 文件里面  说明:exe如果生成成功了lib 这 ...

  4. LeetCode(10):正则表达式匹配

    Hard! 题目描述: 给定一个字符串 (s) 和一个字符模式 (p).实现支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符. '*' 匹配零个或多个前面的元素. 匹配应该覆盖整 ...

  5. java Comparator和Comparable(比较器)

    Comparable: 一个类实现了Camparable接口则表明这个类的对象之间是可以相互比较的,这个类对象组成的集合就可以直接使用sort方法排序,sort方法调用compareTo()方法里定义 ...

  6. 和为k的最长子数组及其延伸

    问题1: /** * 问题描述: * 给定一个无序数组arr,其中元素可正.可负.可0, * 求arr所有的子数组中正数与负数个数相等的最长子数组长度 * * 解题思路:对数组进行处理,正数为1,负数 ...

  7. ajax test

    (function ($) { function loadNode(obj){ obj.closest('.filter').find('.item').removeClass('select'); ...

  8. Windows 系统采用批处理命令修改 ip 地址

    Windows 系统采用批处理命令修改 ip 地址 :: 设置IP地址 set /p choice=请选择设置类型(1:外网IP / 2:内网IP / 3:自动获取IP): echo. if &quo ...

  9. Windows下使用 Sublime Text + MinGW 搭建C/C++开发环境

    下载并安装 Sublime Text 点击此处从官网下载适合自己的Windows系统的Sublime Text 下载好后双击进行安装(一路next就好啦) 下载 MinGW 点击此处下载MinGW 下 ...

  10. 006.LVM快照

    一 快照介绍 快照就是将当时的系统信息记录下来,就好像照相一样,未来若有任何资料变动了,则原始资料会被移动到快照区,没有被改动的区域则由快照区与档案系统共享. 二 快照原理 当建立快照区时,LVM会预 ...