目录


文章目录



###一、《SQL Server本地数据库基本操作》课程大纲


  • 课程目标
    理解SQL Server本地数据库的基本操作,能够使用SQL Server数据库实现数据表之间的关联。
  • 重点难点
    数据库的增删改操作和数据表的设计
  • 考核目标
    SQL Server本地数据库有哪些特点?
    表Table和数据上下文DataContext的关系?
    怎样去定义数据表的各种属性的影射?如何实现表之前的关联关系?
    如何实现数据库的增删改查的操作?
  • 课后练习
    用SQL Server本地数据库存储实现一个简单的记事本的功能

###二、《SQL Server本地数据库基本操作》
####(一)SQL Server本地数据库的原理
#####1.数据存储在程序隔离的本地存储里面
######(1)本地数据库将会在Windows Phone应用的进程中运行
它并不像一些关系数据库那样存在云端上的一个服务器上。当我们打开程序运行的时候,SQL Server本地数据库也开始运行,他并不是在
######(2)本地数据库仅可由对应的Windows Phone应用访问
######(3)本地数据库仅可通过LINQ to SQL访问
#####2.面向对象
######(1)所有的数据都用对象来表示
######(2)LINQ to SQL操作数据库的增删改查
####(二)主要的概念
#####1、表table
######(1)代表数据库中的表,与关系数据库的表一致
######(2)泛型表示System.Data.Linq.Table < TEntity>,TEntity表示表的实体类
######(3)每一个Table对象由对应数据库中数据行的实体所组成
#####2、数据上下文DataContext
######(1)代表数据库的对象
######(2)数据上下文包含若干Table对象,其中的每一个对象都表示数据库中的一个表
####(三)数据库的操作
#####1.定义数据表
######(1)数据表是一个实体类
######(2)通过LINQ to SQL映射属性来定义数据表的字段
######(3)基于属性的映射
a.DatabaseAttribute属性
指定在连接未提供名称时数据库的默认名称,可选。Name属性用于指定数据库的名称
b.TableAttribute属性
将类指定为与数据库表或视图关联的实体类。Name默认与类名相同的字符串,将类指定与数据库表关联的实体类
c.ColumnAttribute属性
指定实体类的某个成员表示数据库表中的列Column(IsPrimaryKey=true)指定主键。
不具有此属性的成员被假定为非持久的,且不会被提交以进行插入或更新
d.AssociationAttribute属性
表示数据库中的关联,如外键对主键关系。此属性与EntitySet< TEntity>和EntityRef< TEntity>类型一起使用,来表示将作为数据库中的外键关系的维护。
Storage属性:获取或设置私有存储字段以保存列中的值
OtherKey:将目标实体类的一个或多个成员指定为关联的另一端上的键值
ThisKey:指定此实体类的成员表示关联的此端上的键值
三种关系
一对多
一对一:
通过向双方添加EntitySet< TEntity>来表示此类关系
多对多:
在多对多关系中,链接表(也称作联结表)的主键通常由来自其他连个表的外键组合而成。
e.IndexAttribute属性
指定本地数据库表上的其他索引
[Index(Columns=“Column1,Column2 DESC”,IsUnique=true,Name=“MultiColumnIndex”)]
索引所基于的列
该值指示索引是否唯一
获取或设置索引的名称
######(4)实现属性改变通知事件
继承实现接口INotifyPropertyChanged,INotifyPropertyChanging
#####2.定义DataContext对象
######(1)从DataContext类派生
######(2)添加表
#####3.创建数据库
######(1)定义连接的数据库字符串
######(2)判断数据库是否存在
######(3)创建数据库
#####4.操作数据库
######(1)插入数据
数据插入数据库的过程分为两个步骤。首先在数据上下文中添加一个对象,然后调用数据上下文SubmitChanges方法将数据保存为数据库中的一行
ToDoItem newToDo=new ToDoItem{ItemName=newToDoTextBox.Text};
ToDoItems.Add(newToDo);
toDoDB.ToDoItems.InsertOnSubmit(newToDo);
######(2)数据库查询
######(3)删除数据
a.在数据库中查询要删除的对象
b.删除一个DeleteOnSubmit
c.删除多个对象DeleteAllOnSubmit
d.调用数据上下文SubmitChanges方法
######(4)修改数据
a.在数据库中查询要更新的对象
b.按需要修改对象
c.调用数据上下文SubmitChanges方法


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6