EF core 学习笔记】的更多相关文章

1. Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台的数据访问技术,它还是一 种对象关系映射器 (ORM),它使 .NET 开发人员能够使用面向对象的思想处理数据库,它消除 了开发人员通常需要编写大量数数据访问代码的需要. 2. 安装相关包Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Design Microsoft.EntityFrameworkCore.Tools由微软维护的支持程…
应该 以领域 为核心开发程序, 不应该 以数据库 entityframeworkcore entityframeworkcore.sqlserver entityframeworkcore.tool entityframeworkcore.tool很重要, 没有这句话,无法进行数据迁移. 数据迁移 get-help entityframeworkcore这句指令是万能 的,一有不会就要 点这个查询指令 数据迁移指令1.Add-Migration Initial 2.Update-Database…
原文https://www.cnblogs.com/artech/p/net-core-di-07.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IServiceProvider对象.服务注册就是创建出现相应的ServiceDescriptor对象并将其添加到指定IServiceCollection集合对象中的过程. 一.ServiceDescriptor 通过<依赖注入[6]: .NET Core DI编程体验>的实例演示我们知道作为DI容器…
原文https://www.cnblogs.com/artech/p/net-core-di-06.html 毫不夸张地说,整个ASP.NET Core框架是建立在一个依赖注入框架之上的,它在应用启动时构建请求处理管道过程中,以及利用该管道处理每个请求过程中使用到的服务对象均来源于DI容器.该DI容器不仅为ASP.NET Core框架提供必要的服务,同时作为了应用的服务提供者,依赖注入已经成为了ASP.NET Core应用基本的编程模式.在前面一系列的文章中,我们主要从理论层面讲述了依赖注入这种…
为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在上篇中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的设计和实现. 一.服务注册:ServiceRegistry 由于作为DI容器的Cat对象总是利用预先添加到服务注册来提供对应的服务实例,所以服务注册至关重要.如下所示的就是表示服务注册的ServiceRegistry的定义,它具有三个核心属性(ServiceType.Lifetime和Factory…
原文https://www.cnblogs.com/artech/p/net-core-di-04.html 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章从纯理论的角度对依赖注入进行了深入论述,为了让读者朋友能够更好地理解.NET Core的依赖注入框架的设计思想和实现原理,我们创建了一个简易版本的DI框架,也就是我们在前面文章中多次提及的Cat.我们会上下两篇来介绍这个被称为为Cat的DI框架,上篇介绍编程模型,下篇关注设计实现.[源代码从这里下载]…
原文:https://www.cnblogs.com/artech/p/net-core-di-03.html IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架中以实现对流程的复用,并按照“好莱坞法则”实现应用程序的代码与框架之间的交互.我们可以采用若干设计模式以不同的方式实现IoC,比如我们在<依赖注入[2]: 基于IoC的设计模式>介绍的模板方法.工厂方法和抽象工厂,接下来我们介绍一种更为有价值的IoC模式,即依赖注入(DI:Dependency Injecti…
原文:https://www.cnblogs.com/artech/p/net-core-di-02.html 正如我们在<控制反转>提到过的,很多人将IoC理解为一种“面向对象的设计模式”,实际上IoC自身不仅与面向对象没有必然的联系,它也算不上是一种设计模式.一般来讲,设计模式提供了一种解决某种具体问题的方案,但是IoC既没有一个针对性的问题领域,其自身没有提供一种可实施的解决方案,所以我更加倾向于将IoC视为一种设计原则.实际上很多我们熟悉的设计模式背后采用了IoC原则,接下来我们就来介…
原文:https://www.cnblogs.com/artech/p/net-core-di-01.html 一.流程控制的反转 IoC的全名Inverse of Control,翻译成中文就是“控制反转”或者“控制倒置”.控制反转也好,控制倒置也罢,它体现的意思是控制权的转移,即原来控制权在A手中,现在需要B来接管.那么具体对于软件设计来说,IoC所谓的控制权的转移具有怎样的体现呢?要回答这个问题,就需要先了解IoC的C(Control)究竟指的是怎样一种控制.对于我们所在的任何一件事,不论…
1.为什么不要给每个方法都写try catch 为每个方法都编写try catch是错误的做法,理由如下: a.重复嵌套的try catch是无用的,多余的. 这一点非常容易理解,下面的示例代码中,OutsideMethodA中的try catch是不起作用的. class NestedTryCatch { internal void OutsideMethodA() { try { this.InsideMethodB(); } catch (Exception ex) { Console.W…
EF Core (EntityFramework Core)是实体关系映射(O/RM)数据库访问框架.这个模式的好处就是让开发人员可以用对象模型来操作数据库,这是一种对开发人员较为友好的方式. O/RM牛逼在哪? 非对象模型操作数据库,就要直接用sql语言来做大量的CURD操作(Creat 创建:update 更新:read 读取:delete 删除).这些操作编写繁琐又容易出错,目的却只是为了操作数据库,而不是业务.而对象模型(O/RM)是基于业务,使用的就是自身的程序语言,相当于把操作数据库…
更新 : 2018-11-26 这里记入一下关于 foreignKey cascade action 默认情况下如果我们使用 data annotation required + foreginkey . ef 会帮我们设计成 cascade delete 如果 foreignkey + nullable 就会是 cascade restrict. 如果使用 fluent api 的话就由我们设计了. ef 6.x 有一个功能可以把所有的 cascade delete 停掉, ef core 不…
ef core 有 unit of work 的概念,当我们 save change 时会自动使用 transaction 确保更新的一致性. 隔离级别是默认的 read committed 不允许脏读. 但是呢, 有时候我们希望拥有更好的隔离级别, 比如 repeatable read, serializable 那么就需要调用 database.beginTransaction 了. 一旦需要自己控制 trans 麻烦就跟着来了. 比如在多个服务嵌套调用时, 如何共享 trans 呢 ? 每…
更新: 2019-12-23 foreignkey 并不一样要配上 alternate key,其实只要是 unique 就可以了. 和 sql server 是一样的, 经常有一种错觉 primary key = foreignkey 所以只能有 1个 column 但是很多时候用多个 column 来约束对业务的管理是有帮助的. 所以其实只要是 unique, 不管多少 column, 都是拿来作为其它 table 的 foreignkey relation. modelBuilder.En…
下面通过实例来学习EF Core Code First,也就是通过EF Core迁移来完成从模型生成数据库. 本实例使用EntityFrameworkCore SQLite 数据库进行介绍,大家也可以无缝切换到其他数据库. 目前 EF Core 支持的数据库: Microsoft SQL Server SQLite Postgres (Npgsql) SQL Server Compact Edition InMemory (for testing purposes) MySQL IBM DB2…
之前记在github上的,现在搬运过来 变化还是很大的,感觉和Nodejs有点类似,比如中间件的使用 ,努力学习ing... 优点 不依赖IIS 开源和跨平台 中间件支持 性能优化 无所不在的依赖注入 标准日志记录 Mvc 和 WebApi 合二为一 MVC 标签帮助 CLI工具 1.cookie 和 Session 因为<通用数据保护条例>(General Data Protection Regulation,简称GDPR)为欧洲联盟于2018年5月25日出台的条例, Asp.Net Cor…
1.什么是服务注册中心? 在学习服务注册与发现时,我们要先搞明白到底什么是服务注册与发现. 在这里我举一个生活中非常普遍的例子——网购来简单说明,网购在我们日常生活中已经是非常普遍了,其实网购中的(商家—菜鸟驿站—买家),就组成了一个非常简单的注册发现逻辑.在我们购买商品之后,需要拿到这件商品,如果是普通的点对点服务,商家直接将商品快递给买家,如果买家临时有事不在家,这个时候将会收货失败. 当引入注册中心—菜鸟驿站之后,商家发货后只需要将商品发送给菜鸟驿站(服务注册),买家在合适的时间通过快递号…
Asp.Net Core 学习 基于.Net Core 2.2版本的学习笔记. 常识 像Django那样自动检查代码更新,自动重载服务器(太方便了) dotnet watch run 托管设置 设置项目文件的AspNetCoreHostingModel属性. <PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>InProcess<…
前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入.NET的大环境当中.所以萌生了做一篇关于.NET CORE 学习的学习笔记,借着今天小酌几杯的机会,把这个想法践行一下. 为什么学习 ASP.NET Core程序 数百万开发人员在使用ASP.NET创建Web应用.而ASP.NET Core 是对ASP.NET 的重新设计,在结构上做了更改,产生了…
原文地址:https://docs.efproject.net/en/latest/modeling/keys.html Keys (primary) Key 是每个实体例的主要唯一标识.EF Core中的 Key 映射到关系型数据库中就相当于主键.我们也可以配置一个不是主键的唯一标识给一个实体.(点这里 Alternate Keys 查看更多信息) 内容导航 约定 Data Annotation Fluent API 约定 依照约定,一个名称为 Id 或者 <type name>Id 的属性…
一.什么是EF Entity Framework 是适用于.NET 的对象关系映射程序 (O/RM). 二.比较 EF Core 和 EF6 1.Entity Framework 6 Entity Framework 6 (EF6) 是一种久经验证的数据访问技术.(仅在Windows上运行) 2.Entity Framework Core Entity Framework Core (EF Core) 是在 2016 年首次发布的 EF6 的完全重写. 它附带于 Nuget 包中,是 Micro…
前言 去年11月份参加了青岛MVP线下活动,会上老MVP衣明志介绍了Nancy, 一直没有系统的学习一下,最近正好有空,就结合.NET Core学习总结了一下. 注: 本文中大部分内容都是对官网文档的翻译和总结. 简介 Nancy是一个的轻量级Http的服务框架, 全名NancyFx, Nancy框架的灵感来自于Ruby 的Sinatra框架,其作者名字叫Frank Sinatra, NancyFx这个名字中的Nancy是Frank Sinatra女儿的名字, Fx的意思是Framework,…
参考 : http://www.cnblogs.com/xishuai/p/3700052.html http://www.cnblogs.com/xishuai/p/3704435.html http://www.cnblogs.com/xishuai/p/3708483.html automapper 并不是 dotnet core 的东西啦,只是记入在这里而已. automapper 是一个简单的库,帮我们处理对象和对象的映射. 我们做开发通常会用到 ef core, entity 基本上…
通过ef core 源码分析 Microsoft.EntityFrameworkCore.Storage.RelationalCommandExtensions类中有相应的方法 为此得到相应的结果: 为此在我们的数据上下文中拓展方法: public async Task<DbDataReader> ExecuteReaderAsync(RawSqlString sql, params object[] parameters) { using (await Database.GetService…
Ef core 3.0 一些要注意的改变 refer : https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-3.0/breaking-changes#dc 1. 要另外安装 nuget Microsoft.EntityFrameworkCore.SqlServer 2. 另外装 tools dotnet tool install --global dotnet-ef nuget : Microsoft.EntityFrame…
ASP.NET Core学习和使用了一段时间了,好记性不如烂笔头,通过查阅官网学习文档和一些大神们的博客总结一下.主要路线先总结一下ASP.NET Core的基础知识,然后是ASP.NET Core WebApi应用,再然后是ASP.NET Core Web 应用. 路线结构: ASP.NET Core基础知识 ASP.NET Core 基础知识(一) ASP.NET Core是什么?与.NET Framework.Mono之间的关系 ? ASP.NET Core 基础知识(二) ASP.NET…
TagHelper 入门 优点:根据参数自动生成,不需要手写超链接,类似Django模板里面的url命令. 在ViewImport中添加TagHelper @addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers 比如,链接TagHelper使用 <a class="btn btn-outline-primary" asp-controller="student" asp-action="get"…
最近在学习.NET CORE ,刚开始就遇到问题了. 安装EF框架的试试就报错, 报错如下: 错误 程序包还原失败.正在回滚“XXX”的程序包更改. 找了好久的方案,网上也没搜到对应的问题和方案,然而我看到输出中一闪而过的信息,我就截图看到了信息,然后仔细看了下,就发现是版本号不一致. 解决方案:1.安装的Microsoft.EntityFrameworkCore版本与你的项目中的版本一致 2.先升级你项目中相关扩展的版本号,然后再安装Microsoft.EntityFrameworkCore扩…
https://github.com/wj1034184751/ADO.NetCore.git 先简单的做一个学习架子, EF层用的是 EFCore(2.1.0)+ Pomelo.EntityFrameworkCore.MySql(2.1.0) 实体映射主要是用了这三个类: public interface IEntityTypeConfiguration { void Map(ModelBuilder builder); } public interface IEntityTypeConfig…
前言 说道配置文件,基本大多数软件为了扩展性.灵活性都会涉及到配置文件,比如之前常见的app.config和web.config.然后再说.NET Core,很多都发生了变化.总体的来说技术在进步,新的方式更加轻量级,具有更好的扩展性,数据源更加多样性. ASP.NET Core 应用可用的配置提供程序 提供程序 一下对象提供配置 Azure Key Vault 配置提供程序 Azure Key Vault Azure 应用配置提供程序 Azure 应用程序配置 命令行配置提供程序 命令行参数…