EF基础知识小记一】的更多相关文章

EF基础知识小记三(设计器=>数据库)介绍了如何创建一个空设计器模型,并如何将模型同步到数据库的表中,本文则主要介绍如何将一个存在的数据库同步到模型设计器中.为了能快速的模拟这个过程,给出一下建表语句,代码如下: --建表脚本 create table Student ( Id int not null, Name ) not null, Age int not null ) create table Teacher ( Id int not null, Name ) not null, Age…
一.拆分实体到多个表 1.在日常开发中,会经常碰到一些老系统,当客户提出一些新的需求,这些需求需要在原来的表的基础上加一些字段,大多数人会选择通过给原表添加字段的方式来完成这些需求,方法,虽然可行,但是如果架构不合理的系统,就会牵一发而动全身.所以处理这种需求比较合理的方式是:建一张新表来存放新的字段. 通过叫做合并两张及以上的表到一个单独的实体,也叫分拆一个实体到多个表,我们把每个组成部分当成一个逻辑实体.这个过程叫做逻辑分拆. 缺点:每当获取实体时,框架都需要额外的Join联结. 2.示例…
日常开发中,经常会碰到一些自引用的实体,比如系统菜单.目录实体,这类实体往往自己引用自己,所以我们必须学会使用Code First来建立这一类的模型. 以下是自引用表的数据库关系图: ok,下面开始介绍从零创建一个Code First版的自引用模型. 1.往目标项目中添加EF包,通过NuGet程序包添加 导入相关的程序集. 2.创建自引用实体类 public class Category { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Ide…
本文主要讲EF一对多关系和多对多关系的建立 一.模型设计器 1.一对多关系 右键设计器新增关联 导航属性和外键属性可修改 2.多对多关系 右键设计器新增关联 模型设计完毕之后,根据右键设计器根据模型生成数据库,就能生成对应的表之间的一对多和多对多关联 二.代码层面 建表语句如下: --建表脚本 create table Student ( Id int not null, Name ) not null, Age int not null ) create table Teacher ( Id…
本文主要介绍通过EF的设计器来同步数据库和对应的实体类.并使用生成的实体上下文,来进行简单的增删查该操作 1.通过EF设计器创建一个简单模型 (1).右键目标项目添加新建项 (2).选择ADO.Net实体数据模型,并将实体模型命名为Recipe1,点击下一步 (3).选择空设计器,并点击完成 (4).edmx空模型创建完毕,下一步右键设计界面创建实体 (5).添加一个Person实体,实体属性如下图,并点击确定 图中创建键属性,实体会自动添加一个Id属性,并将该属性设为主键(数据库设计三范式之一…
1.EF的常用使用场景 (1).维护一个已经存在的数据库,VS提供了工具帮助我们把数据库中的表和视图等对象导入到实体框架.        [数据库=>模型(Database First)] (2).通过VS提供的实体设计器设计表模型,然后从头开始添加实体类型.类型间的关联以及继承体系到设计器中.模型创建好后,然后根据模型生成数据库.     [模型=>数据库(Model First)] (3).EF还提供了以代码为中心的模型设计方式,通过这种方式我们可以在不使用设计器的情况下,手工创建一系列的…
1.EF等ORM解决方案出现的原因 因为软件开发中分析和解决问题的方法已经接近成熟,然后关系型数据库却没有,很多年来,数据依然是保存在表行列这样的模式里,所以,在面相对象和高度标准化的数据库中产生了一个失配(不匹配.阻抗失配,微软的安德斯.海尔斯伯格<C#之父>可能会这样叫它),为了解决这个失配,大多数项目中都会引入"数据处理层"来转换应用程序实体层的数据到数据库的行和列中,随着"数据处理层"的不断进化,最后ORM就诞生了. 2.集成查询语言LINQ L…
1.EF简介 EF之于Linq,EF是一种包含Linq功能对象关系映射技术.EF对数据库架构和我们查询的类型进行更好的解耦,使用EF,我们查询的对象不再是C#类,而是更高层的抽象:Entity Data Model,这提供了额外的灵活性,但在性能和简单性上面也会有所损失. EF的优点:在数据库架构和实体类之间的映射提供了更好的灵活性,还通过程序支持除了SqlServer之外的数据库. Linq To Sql之于EF Linq To Sql和EF师出同门,EF支持LINQ to SQL几乎同样的查…
最近在帮华为接口人研究自动化部署项目AutoDeploy,把代码发给我了,不过都是用C++写的,自己虽然在大学也学了一学期的C++不过也是很菜鸟,只是学了基本语法,还远未达到实战项目,不管怎么说就是撸起袖子就是干,问了下中软其他项目组搞自动化的同事他们组用的是python来做自动化部署,自己也上网也搜了下一些开源的框架,以及自动化部署工作流程,也大致了解了下现在项目的工作流程.现在的项目大致的流程是部署一个ftp服务器用来放置要部署的文件,然后客户端通过ssh登录到ftp服务器,将文件下载到客户…
1.子查询 Linq中的子查询思想和Sql中的子查询其实差不多, 对于方法语法,一个子查询包含在另一个子查询的Lambda表达式中,代码如下: string[] names = { "James", "Kobe", "Curry", "Durrent" }; IEnumerable<string> result = names.OrderBy(n => n.Split().Last()); n.Split()…
书写Linq查询有两种方法,第一种是通过方法语法(也就是扩展方法),第二种是查询表达式语法. 1.方法语法 方法语法就是通过扩展方法和Lambda表达式来创建查询 (1).链式查询 这种查询方式很多语言都支持,通过一段实例,介绍Linq的链式查询.需求如下:找出字符串数组中含有字母e的字符穿,并按长度排序,最后将结果转为大写.代码如下: string[] names = {"James","Kobe","Curry","Durrent&…
1.LINQ(语言级集成查询)的作用就是提供一种统一且对称的方式,让程序员在广义的数据上获取和操作数据.广义的数据包括XML文档数据.元数据.System.Data.dll和System.Data.SqlClient.dll提供的DataSet和DataTable等数据.内存数据(Array.Collection)等. 2.Linq To Object是针对实现了IEnumerable<T>的对象操作或获取数据的功能,代码如下: (1).通过Enumerable的实例方法实现查询 string…
一.基础知识 1.Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. 简单点说,linux就是一个操作系统,和windows.mac的os x 一样. Linux的版本号又分为两部分:内核(Kernel)版本和发行(Distributi…
说UI能延展出一丢丢的东西来,光java就有swing,swt/jface乃至javafx等等UI toolkit,在桌面上它们甚至都不是主流,在web端又有canvas.svg等等. 基于这些UI工具包\框架,又产生了大量通用的或者业务性的UI框架,比如Draw2d.GEF.easyUI乃至国内的EChart.白鹭等等. 这些框架的业务范围各异,一个程序员的时间和精力有限,你不可能全部都掌握,又不能预言出是哪一个将来会独步天下,甚至,连当前哪一个最流行,都够打一阵嘴炮. 那,我们应该学什么?…
本文记录一些关于学习ReactiveCocoa基础知识内容,对于ReactiveCocoa相关的概念如果不了解可以网上搜索:RACSignal有很多方法可以来订阅不同的事件类型,ReactiveCocoa框架使用category来为很多基本UIKit控件添加signal.本文有收集一些网上其它文章的实例跟内容: 一:先创建页面布局(准备阶段) @interface ViewController () @property(strong,nonatomic)UITextField *nameText…
[Linux基础]Linux基础知识入门及常见命令.   前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1:192.168.40.11Linux ip:192.168.40.128 2,Linux是一个操作系统, 与windows的区别:Linux:图形化界面简单,性能很快,在企业中当做服务器来使用.Windows:图形化界面很炫,性能相对差,大众用户.windows的服务器: windows2003,w…
第1章 YUM源 1.1 什么是yum源 Yellowdog Updater, Modified 一个基于RPM包管理的字符前端软件包管理器.能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装. 简单来说就是软件仓库--yum源/仓库,类似于电脑管家之类. 1.2 查看系统中有什么yum源 yum repolist 目录可以列出服务器中使用的什么yum源. [root@znix ~]# yum repolist Loaded…
原文链接:http://www.entityframeworktutorial.net/EntityFramework4.3/persistence-in-entity-framework.aspx 大家好,这一篇就是我们EF基础系列的最后一篇了,EF基础系列主要讲解的就是EF的一些基础理论知识,方便大家继续后面的学习. 使用EF有两种情况持久化数据到数据库中:一种是the Connected Scenario[连接模式],另外一种是the Disconnected Scenario[断开模式]…
    视频地址 https://coding.imooc.com/learn/list/92.html   一. 基础知识回顾     1. 正则表达式 1)贪婪匹配,非贪婪匹配 .*? 非贪婪 .* 贪婪模式 2)中括号的三种用法: 1[34578][0-9]{9} 使用"-"表示区间,写多个值表示取任一个值 [^1] 不是1的任意值 [.*] 中括号的值没有特殊含义 3)[\u4E00-\U9FA5]   这个是unicode编码,表示任意汉字   4)\w,\d,"|…
本文主要讲Servlet的基础知识和背景知识. 1 CGI简介 CGI(Common Gateway Interface 公共网关接口)是WWW技术中最重要的技术之一,有着不可替代的重要地位.CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程.CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体. Common Gateway Interface,…
在下刚毕业工作,之前实习有用到Dapper?这几天新项目想用上Dapper,在下比较菜鸟,这块只是个人对Dapper的一种总结. 1,什么是Dapper?     Dapper,.NET下的一种ORM框架,什么是ORM呢?ORM是一种对象关系映射的技术.     小白之前参考的资料Dapper初级如何使用https://www.jianshu.com/p/c4ca2989d26a                                                          …
ORM基础知识 一.什么ORM? ORM是Object Relactional Mapping的缩写,即对象关系映射,是将关系型数据库中的数据库结构映射成对象,就可以通过面向对象思想编程. 二.常用的ORM框架有那些? Dapper.Entity Framework(EF) 三.常用的ORM框架之间的区别是什么? Dapper都是轻量级的框架 EF都是重量级的框架…
MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装,以 CentOS6.9 操作系统为例. 一.rpm 安装 安装速度较快,通常适用于企业中大规模部署 mysql,安装步骤如下: (1)首先下载 MySQL 的 rpm 安装包, 如下: 客户端:http://dev.mysql.com/get/Down- 服务端:http://dev.mysql.c…
Redis官网:https://redis.io/ Redis中文网:http://www.redis.cn/ Redis 是一个开源的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询. Redis 内置了 复制(…
0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写一套C#程序需要做哪些准备吧. 1.1 选择 C# 的sdk在之前的某个时间点分为了三个方向: .net framework 4.X .net core mono UWP 有人可能问了,.net和C#是什么关系.首先需要明确一个概念,C#是一门编程语言,.net是一个CLR,即公共语言运行库.这部分…
1. 从认识操作系统开始 正式开始 Linux 之前,简单花一点点篇幅科普一下操作系统相关的内容. 1.1. 操作系统简介 我通过以下四点介绍什么是操作系统: 操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,是计算机的基石. 操作系统本质上是一个运行在计算机上的软件程序 ,用于管理计算机硬件和软件资源. 举例:运行在你电脑上的所有应用程序都通过操作系统来调用系统内存以及磁盘等等硬件. 操作系统存在屏蔽了硬件层的复杂性. 操作系统就像是硬件使用的负责人,统…
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: 系列文章链接 kubebuilder实战之一:准备工作 kubebuilder实战之二:初次体验kubebuilder kubebuilder实战之三:基础知识速览 kubebuilder实战之四:operator需求说明和设计 kubebuilder实战之五:operator编码 kubeb…
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotNet-Framework.aspx (非常经典的一篇文章) 精通C# (第六版) CLR via C# (第三版) 1 术语 面试出现频率:从来没人问过.事实上我都不知道怎么问,考背书吗?倒是可以问问知不知道现在.NET最新版本是什么,考察面试者是否对新技术足够敏感. 重要程度:3/10 需要理解的…
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco .Redhat.iMatix 等联合制…