EF基础知识小记四(数据库=>模型设计器)
EF基础知识小记三(设计器=>数据库)介绍了如何创建一个空设计器模型,并如何将模型同步到数据库的表中,本文则主要介绍如何将一个存在的数据库同步到模型设计器中。为了能快速的模拟这个过程,给出一下建表语句,代码如下:
--建表脚本
create table Student
(
Id int not null,
Name varchar(30) not null,
Age int not null
)
create table Teacher
(
Id int not null,
Name varchar(30) not null,
Age int not null
) create table StudentTeacher
(
StudentId int not null,
TeacherId int not null
) create table InfoCard
(
Id int not null,
[Money] int not null,
StudentId int not null
) --给表添加约束
--单主键约束
alter table Student add constraint [PK_People]
primary key clustered (Id Asc) alter table InfoCard add constraint [PK_InfoCard]
primary key clustered (Id Asc) alter table Teacher add constraint [PK_Teacher]
primary key clustered (Id Asc) --双主键约束(多对多)
alter table StudentTeacher add constraint [PK_StudentTeacher]
primary key clustered (StudentId,TeacherId Asc) --双外键约束(多对多)
alter table StudentTeacher
add constraint [FK_StudentTeacher_Student]
foreign key (StudentId) references Student (Id) on delete no action on update no action --级联更新级联删除 alter table StudentTeacher add constraint [FK_StudentTeacher_Teacher]
foreign key (TeacherId) references Teacher (Id) on delete no action on update no action --但外键约束(一对多)
alter table InfoCard add constraint [FK_InfoCard_Student]
foreign key (StudentId) references Student (Id) on delete no action on update no action
1、看过EF基础知识小记三(设计器=>数据库)后,省去一些简单的操作步骤,直接到下面这步操作

根据数据库生成edmx
2、选择指定的数据库,并选择响应的表生成edmx模型设计器
3、点击确认,生成成功,如下图:

4、增删查该的操作和EF基础知识小记三(设计器=>数据库)介绍的一样
EF基础知识小记四(数据库=>模型设计器)的更多相关文章
- Linq基础知识小记四之操作EF
1.EF简介 EF之于Linq,EF是一种包含Linq功能对象关系映射技术.EF对数据库架构和我们查询的类型进行更好的解耦,使用EF,我们查询的对象不再是C#类,而是更高层的抽象:Entity Dat ...
- EF基础知识小记三(设计器=>数据库)
本文主要介绍通过EF的设计器来同步数据库和对应的实体类.并使用生成的实体上下文,来进行简单的增删查该操作 1.通过EF设计器创建一个简单模型 (1).右键目标项目添加新建项 (2).选择ADO.Net ...
- EF基础知识小记五(一对多、多对多处理)
本文主要讲EF一对多关系和多对多关系的建立 一.模型设计器 1.一对多关系 右键设计器新增关联 导航属性和外键属性可修改 2.多对多关系 右键设计器新增关联 模型设计完毕之后,根据右键设计器根据模型生 ...
- EF基础知识小记二
1.EF的常用使用场景 (1).维护一个已经存在的数据库,VS提供了工具帮助我们把数据库中的表和视图等对象导入到实体框架. [数据库=>模型(Database First)] (2 ...
- EF基础知识小记七(拆分实体到多个表以及拆分表到多个实体)
一.拆分实体到多个表 1.在日常开发中,会经常碰到一些老系统,当客户提出一些新的需求,这些需求需要在原来的表的基础上加一些字段,大多数人会选择通过给原表添加字段的方式来完成这些需求,方法,虽然可行,但 ...
- EF基础知识小记一
1.EF等ORM解决方案出现的原因 因为软件开发中分析和解决问题的方法已经接近成熟,然后关系型数据库却没有,很多年来,数据依然是保存在表行列这样的模式里,所以,在面相对象和高度标准化的数据库中产生了一 ...
- EF基础知识小记六(使用Code First建模自引用关系,常用于系统菜单、文件目录等有层级之分的实体)
日常开发中,经常会碰到一些自引用的实体,比如系统菜单.目录实体,这类实体往往自己引用自己,所以我们必须学会使用Code First来建立这一类的模型. 以下是自引用表的数据库关系图: ok,下面开始介 ...
- IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token
本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...
- php基础知识掌握——四种界定符
闲来无事,研究了与java.c#完全不同的领域php,php即(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器"),对于学习php的初学者 ...
随机推荐
- TopK排序
利用快速排序实现TopK排序 //返回支点的下标 int partition(int *arr, int low, int high) { //选取第一个元素为支点 int pivot = arr[l ...
- python入门前的准备
为什么学习python? python是一种高级脚本解释性语言,若运行for循环等肯定不如c或fortran快,但是它是开源的,有很多特别有用的库,代码以空格强制控制格式,形式优美简洁,且特别容易实现 ...
- 在mui中创建aJax来请求数据..并展示在页面上
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <m ...
- 【PAT Advanced Level】1014. Waiting in Line (30)
简单模拟题,注意读懂题意就行 #include <iostream> #include <queue> using namespace std; #define CUSTOME ...
- 如何实现让你的网站支持Google Roboto Font
最近在写一个移动端的web项目,designer设计的页面效果图就是使用Google Roboto Font.The Roboto Font 是Google为Android 4.0 Ice-Cream ...
- LeetCode136:Single Number
题目: Given an array of integers, every element appears twice except for one. Find that single one. No ...
- WPF 自定义快速实现线程等待函数FastTask
在WPF实现 我们常常需要实现这个目标:线程里面执行复杂的任务,然后主窗体等待动画 我把我最简单的东西给包了一下,更方便使用,大家也可以方便使用 1:添加CommHelper类 FastTask方法 ...
- SharePoint列表数据清除
--获取站点对象 $spWeb =get-spweb http://123.sinochem.com --获取具体列表对象 $spList =$spWeb.GetListFromUrl("h ...
- day 108 项目luffy &contenttype
反向查询 反向查询 路飞学城项目 一.建模型 models from django.db import models from django.contrib.contenttypes.field ...
- day 57 Bootstrap 第一天
一 .bootstrap是什么 http://v3.bootcss.com/css/#grid-options(参考博客) 是一个前端开发的框架. HTML CSS JS 下载地址:https:// ...