原文地址:https://docs.efproject.net/en/latest/modeling/index.html 前言: EntityFramework 使用一系列的约定来从我们的实体类细节创建模型.我们可以钦定一些额外的映射配置来添加.重写实体类的哪些细节应该被这些约定所发现. 这篇文章讲述了一些无论模型被存储在哪种关系型数据库中都可以生效的配置项.DataBase Provider 也同样可以针对某一种数据存储启用指定的配置项.更多相关文档请查看:Database Provider…
原文地址: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 的属性…
原文地址:https://docs.efproject.net/en/latest/modeling/included-properties.html 在模型中包含一个属性意味着 EF 拥有了这个属性的元数据并且将尝试在数据库中进行读写属性的值. 内容导航 约定 Data Annotation Fluent API 约定 根据约定,带有 getter 和 setter 的公共属性将被包含在模型中. Data Annotations 我们可以使用 Data Annotaions 来从模型中排除一个…
原文地址:https://docs.efproject.net/en/latest/modeling/included-types.html 在模型类中包含一种类型意味着 EF 拥有了这种类型的元数据并且将尝试在数据库中进行读写类型的实例. 内容导航 约定 Data Annotation Fluent API 约定 根据约定,暴露在你的上下文的 DbSet 属性中的类型将会被包含入你的模型中.此外,在 OnModelCreating 方法中涉及到的类型也会被包含进来.最终,任何在已被发现的类型被…
原文https://www.cnblogs.com/artech/p/net-core-di-04.html 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章从纯理论的角度对依赖注入进行了深入论述,为了让读者朋友能够更好地理解.NET Core的依赖注入框架的设计思想和实现原理,我们创建了一个简易版本的DI框架,也就是我们在前面文章中多次提及的Cat.我们会上下两篇来介绍这个被称为为Cat的DI框架,上篇介绍编程模型,下篇关注设计实现.[源代码从这里下载]…
为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在上篇中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的设计和实现. 一.服务注册:ServiceRegistry 由于作为DI容器的Cat对象总是利用预先添加到服务注册来提供对应的服务实例,所以服务注册至关重要.如下所示的就是表示服务注册的ServiceRegistry的定义,它具有三个核心属性(ServiceType.Lifetime和Factory…
原文:https://www.cnblogs.com/artech/p/net-core-di-03.html IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架中以实现对流程的复用,并按照“好莱坞法则”实现应用程序的代码与框架之间的交互.我们可以采用若干设计模式以不同的方式实现IoC,比如我们在<依赖注入[2]: 基于IoC的设计模式>介绍的模板方法.工厂方法和抽象工厂,接下来我们介绍一种更为有价值的IoC模式,即依赖注入(DI:Dependency Injecti…
JUC学习笔记--共享模型之管程 在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的管程部分 我们会分为以下几部分进行介绍: 共享问题 共享问题解决方案 线程安全分析 Monitor synchronized锁 Wait/notify 模式之保护性暂停 模式之生产者消费者 park 线程状态转换详解 多锁操作 活跃性 ReentrantLock 同步模式之顺序控制 共享问题 这小节我们将会介绍共享问题 共享问题概述 我们首先来简单介绍一下贡献问题的产生原因: 操作系统目前只操纵一…
原文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应用基本的编程模式.在前面一系列的文章中,我们主要从理论层面讲述了依赖注入这种…
原文: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)究竟指的是怎样一种控制.对于我们所在的任何一件事,不论…
Django:学习笔记(7)——模型进阶 模型的继承 我们在面向对象的编程中,一个很重要的的版块,就是类的继承.父类保存了所有子类共有的内容,子类通过继承它来减少冗余代码并进行灵活扩展. 在Django中,父类可以是一个实际的模型(即有同步的数据表),也可以是一个抽象的模型(只用来保存子模型共有内容,并不实际创建数据表). 抽象继承 将一个类转换为抽象类,然后其他类再继承它,来完成抽象继承. class CommonInfo(models.Model): name = models.CharFi…
Django:学习笔记(6)——模型 快速上手 模型到底是什么呢?我们可以想,如果一张数据表的各个字段可以自动映射到一个类的各个属性,则每条记录对应这个类的一个对象.那我们通过类方法来操作对象(即表记录)就会很容易了.这也大大简化了我们对SQL语句的依赖. 在Django中,这种类统称为模型,我们只管创建模型,Django会自动为我们创建响应的数据表. 比如,我们创建一个Peron模型: from django.db import models class Person(models.Model…
JVM学习笔记--内存模型篇 在本系列内容中我们会对JVM做一个系统的学习,本片将会介绍JVM的内存模型部分 我们会分为以下几部分进行介绍: 内存模型 乐观锁与悲观锁 synchronized优化 内存模型 这一小节我们来详细介绍一下内存模型和内存模型的三个特性 内存模型简介 首先我们来简单介绍一下内存模型: 内存模型,全称Java Memory Model,也就是我们常说的JMM JMM中定义了一套在多线程读写共享数据时,对数据的可见性,有序性和原子性的规则和保障 内存模型之原子性 我们将在下…
JUC学习笔记--共享模型之内存 在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的内存部分 我们会分为以下几部分进行介绍: Java内存模型 可见性 模式之两阶段终止 模式之Balking 原理之指令级并行 有序性 volatile原理 Java内存模型 我们首先来介绍一下Java内存模型: JMM 即 Java Memory Model,它定义了主存.工作内存抽象概念,底层对应着 CPU 寄存器.缓存.硬件内存. CPU 指令优化等. JMM的主要作用如下: 计算机硬件底层的…
EntityFramework Core 学习系列(一)Creating Model Getting Started 使用Command Line 来添加 Package  dotnet add package Microsoft.EntityFrameworkCore.SqlServer 使用 -v 可以指定相应包的版本号. 使用dotnet ef 命令  需要在.csproj 文件中包含下面引用 <ItemGroup> <DotNetCliToolReference Include=…
ArcGIS案例学习笔记2_2_模型构建器和山顶点提取批处理 计划时间:第二天下午 背景:数据量大,工程大 目的:自动化,批处理,定制业务流程,不写程序 教程:Pdf/343 数据:chap8/ex5 建模过程 模型运行界面 模型运行结果: 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com…
1.为什么不要给每个方法都写try catch 为每个方法都编写try catch是错误的做法,理由如下: a.重复嵌套的try catch是无用的,多余的. 这一点非常容易理解,下面的示例代码中,OutsideMethodA中的try catch是不起作用的. class NestedTryCatch { internal void OutsideMethodA() { try { this.InsideMethodB(); } catch (Exception ex) { Console.W…
Asp.Net Core 学习 基于.Net Core 2.2版本的学习笔记. 常识 像Django那样自动检查代码更新,自动重载服务器(太方便了) dotnet watch run 托管设置 设置项目文件的AspNetCoreHostingModel属性. <PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>InProcess<…
EF Core (EntityFramework Core)是实体关系映射(O/RM)数据库访问框架.这个模式的好处就是让开发人员可以用对象模型来操作数据库,这是一种对开发人员较为友好的方式. O/RM牛逼在哪? 非对象模型操作数据库,就要直接用sql语言来做大量的CURD操作(Creat 创建:update 更新:read 读取:delete 删除).这些操作编写繁琐又容易出错,目的却只是为了操作数据库,而不是业务.而对象模型(O/RM)是基于业务,使用的就是自身的程序语言,相当于把操作数据库…
1.什么是服务注册中心? 在学习服务注册与发现时,我们要先搞明白到底什么是服务注册与发现. 在这里我举一个生活中非常普遍的例子——网购来简单说明,网购在我们日常生活中已经是非常普遍了,其实网购中的(商家—菜鸟驿站—买家),就组成了一个非常简单的注册发现逻辑.在我们购买商品之后,需要拿到这件商品,如果是普通的点对点服务,商家直接将商品快递给买家,如果买家临时有事不在家,这个时候将会收货失败. 当引入注册中心—菜鸟驿站之后,商家发货后只需要将商品发送给菜鸟驿站(服务注册),买家在合适的时间通过快递号…
前言 本文我们来探讨下映射动态模型的几种方式,相信一部分童鞋项目有这样的需求,比如每天/每小时等生成一张表,此种动态模型映射非常常见,经我摸索,这里给出每一步详细思路,希望能帮助到没有任何头绪的童鞋,本文以.NET Core 3.1控制台,同时以SQL Server数据库作为示例演示(其他数据库同理照搬),由于会用到内置APi,因版本不同可能比如构造函数需略微进行调整即可.注:虽为示例代码,但我将其作为实际项目皆已进行封装,基本完全通用.本文略长,请耐心. 动态映射模型引入前提 首先我们给出所需…
前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入.NET的大环境当中.所以萌生了做一篇关于.NET CORE 学习的学习笔记,借着今天小酌几杯的机会,把这个想法践行一下. 为什么学习 ASP.NET Core程序 数百万开发人员在使用ASP.NET创建Web应用.而ASP.NET Core 是对ASP.NET 的重新设计,在结构上做了更改,产生了…
今天本来打算根据自己的计划进行前端自动化的学习的,无奈早上接到一个任务需求需要新增一个页面.自从因为工作需要转前端之后,自己的主要注意力几 乎都放在JavaScript上面了,对CSS和HTML这方面其实基础真的很差,今天在写页面的时候就被浮动啊.内外边距啊这些耽误了不少时间. 反思一下,自己确实在这些基础方面的不足很多,所以今后的学习笔记主要是我在工作中遇到的一些问题和他们的解决方法.其中可能中会有JS.CSS.HTML各方面的,我会把自己每一天学到的内容都记录一下,辅助自己打好基础. 今天在…
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染. WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏. 原生的WebGl比较复杂,主要通过对顶点着色器和片元着色器的操作,来实现渲染,但实…
前言 去年11月份参加了青岛MVP线下活动,会上老MVP衣明志介绍了Nancy, 一直没有系统的学习一下,最近正好有空,就结合.NET Core学习总结了一下. 注: 本文中大部分内容都是对官网文档的翻译和总结. 简介 Nancy是一个的轻量级Http的服务框架, 全名NancyFx, Nancy框架的灵感来自于Ruby 的Sinatra框架,其作者名字叫Frank Sinatra, NancyFx这个名字中的Nancy是Frank Sinatra女儿的名字, Fx的意思是Framework,…
JVM学习笔记 == 标签(空格分隔): jvm 学习笔记全部来自于<深入理解java虚拟机>总结 jvm内存示意图 虚拟机栈(Java Virtual Machine Stacks): 为虚拟机执行java方法(字节码)服务 局部变量表 操作数栈 动态链表 方法出口 虚拟机栈主要储存各种基本数据类型,对象引用等(由局部变量表实现) 每个方法创建时都会创建一个栈帧(Stack Frame) 每个方法从调用到执行完成 <>栈帧的入栈到出栈 异常 如果线程请求的栈深度大于虚拟机所允许的…
目录 1 复杂的字段类型 1.1 整数类型的区别 1.2 自增类型的区别 1.3 时间类型 1.4 FilePathField 1.5 FileField 1.6 ImageField 2 关系字段 2.1 ForeignKey 2.1.1on_delete 2.1.2limit_choices_to 2.1.3related_name 2.1.4related_query_name 3 字段选项 4模型的元数据Meta 5模型的继承 5.1抽象模型 5.2多表继承 5.3代理模型 1 复杂的字…
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.Security.Store.EntityFramework:基于 mysql 创建 PermissionStore 和 ResourceStore 代码实现 我们需要在 ResourceProviderHostedService 中读取所有的 Resource,将 Resource 转换为 Permiss…