EntityFramework

[翻译 EF Core in Action 2.1] 设置一个图书销售网站的场景

泄露秘密 提交于 2020-04-18 03:58:09
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core 书籍。 原版地址 . 是除了官方文档外另一个学习EF Core的不错途径, 书中由浅入深的讲解的EF Core的相关知识。因为没有中文版,所以本人对其进行翻译。 预计每两天一篇更新 PS: 翻译难免限于本人水平有不准确的地方,建议英文水平不错的同学直接查看原版,有不足的地方欢迎指正 第一部分目录导航 假设场景 -- 图书销售网站 在本章中你会构建一个图书销售网站示例,称之为图书应用程序. 这个示例应用程序帮助我们查看查询中的关系. 本节中介绍了图书应用程序所需的数据库与EF Core的实体类部分 这里是图书应用程序的运行实例 http://efcoreinaction.com 图书应用程序的关系型数据库 虽然我们可以将作者,书,评论等所有数据都放到一张表中,但在关系型数据库中这样设计是很糟糕的,关系型数据库的规范是分离重复的数据,例如作者 我们有多种方式在数据库设计图书数据的各种部分,在本例中的数据库具有EF Core的主要关系类型,分别是以下三种: 一对一的关系: 书与优惠价格 一对多的关系: 书与评价 多对多的关系: 书与作者 一对一的关系: 书与价格 一个书可以有促销价格

EF Core 快速上手——EF Core 入门

空扰寡人 提交于 2020-04-18 03:57:57
EF Core 快速上手——EF Core 介绍 本章导航 从本书你能学到什么 对EF6.x 程序员的一些话 EF Core 概述 1.3.1 ORM框架的缺点 第一个EF Core应用   本文是对《Entity framework in action》部分章节的翻译,某些场景也会附上笔者实践的Demo。尽管很认真的斟酌,但是水平有限,还请各位批评和斧正。   Entity Framework Core, 或者 EF Core,是一个方便软件工程师访问数据库的库。有很多方法来构建这样的一个库,但是EF Core 被设计为一个对象和关系的映射器(也就是我们常说的ORM框架)。ORM是把两个世界的东西映射在一起,一个是关系型数据库自身API,另一个是面向对象世界的类和软件代码。EF Core的优势在于,让软件工程师能够通过代码快速访问数据库。   EF Core,微软发布于2016年,它具有跨平台性:它可以运行在Windows,Linux,mac等操作系统上。它使用EF Core来命名的主要原因,确实是因为他是.NET Core 原创的一部分(但是.NET Core 也可以用于现存的.NET Framework)。    EF Core, ASP.NET Core (服务端APP), 和 .NET Core都是开源的,并且都有提供给开发团队交流的活跃的issues页面。    EF

EF6学习笔记十三:基础知识完结,零碎问题补缺

三世轮回 提交于 2020-04-18 03:19:41
要专业系统地学习EF前往《你必须掌握的Entity Framework 6.x与Core 2.0》这本书的作者(汪鹏,Jeffcky)的博客:https://www.cnblogs.com/CreateMyself/ EF6的基础知识就算学完了,书中提供了一个基础篇的实战训练,后面就是进阶内容。市面上专讲EF的书籍就两本吧,《你必须掌握的Entity Framework6.x与Core 2.0》这本可以说很难得了,还是很不错的,值得入手。 这里主要讲一些其他应该注意到的问题。 导航属性与外键属性作为筛选条件查询的区别 分页查询:先筛选后分页、先分页后筛选,执行的SQL语句大不同 语义可空:C#中的空与数据库中的空等价问题 调用表值函数 日期操作应该注意的问题 导航属性与外键属性作为筛选条件查询的区别 我针对产品表进行查询,我想查询某个订单的产品,我是应该根据导航属性来筛选还是外键属性来筛选呢? order、product model 注意:BaseEntity不属于EF三大继承策略的任何一种 // 基类 public class BaseEntity { public BaseEntity() { this .Id = Guid.NewGuid().ToString(); this .AddTime = DateTime.Now; } public string Id { get

EF6学习笔记四:一对多、多对多、一对一关系配置(Fluent API)

陌路散爱 提交于 2020-04-18 02:24:38
要专业系统地学习EF前往《你必须掌握的Entity Framework 6.x与Core 2.0》这本书的作者(汪鹏,Jeffcky)的博客:https://www.cnblogs.com/CreateMyself/ 现在就来到了重中之重的配置了:一对多、多对多、一对一关系的配置,我这里全部使用Fulent API 的方式来 一对多 一对多最简单了,写好你的数据模型,什么配置都不用做,生成的表结构就是你想要的 来个简单基类 public class BaseEntity { public BaseEntity() { this .Id = Guid.NewGuid().ToString(); this .AddTime = DateTime.Now; } public string Id { get ; set ; } public DateTime AddTime { get ; set ; } } View Code 来个简单图书馆类 public class Library:BaseEntity { public string Name { get ; set ; } public virtual ICollection<Book> Books { get ; set ; } } View Code 来个简单Book类 public class Book:BaseEntity

在WebApi项目里使用MiniProfiler并且分析 Entity Framework Core

我的未来我决定 提交于 2020-04-18 02:22:45
在WebApi项目里使用MiniProfiler并且分析 Entity Framework Core 一、安装配置MiniProfiler 在现有的ASP.NET Core MVC WebApi 项目里,通过Nuget安装 MiniProfiler : Install-Package MiniProfiler.AspNetCore.Mvc MiniProfiler.EntityFrameworkCore 当然也可以通过 Nuget Package Manager 可视化工具安装 接下来就是如何配置和使用 MiniProfiler 了,总共分三步: 第一步,来到 Startup.cs 的 ConfigureServices 方法里,添加 services.AddMiniProfiler(); // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext<DataContext>(options => options.UseSqlServer(Configuration

EF6学习笔记一:code-first简单创建数据库、表的一些过程

 ̄綄美尐妖づ 提交于 2020-04-18 01:14:45
我的EF学习笔记是按照 汪鹏(网名Jeffcky) 大侠《你必须掌握的Entity Framework 6.x与Core 2.0》来弄的。 这也是我第一篇博客,感觉这东西不能乱写啊,算了,干吧。 EF我之前是做过的,但是只是一些零碎的东西,不成系统。 EF是什么呢?ORM框架object renational mapping 对象关系映射,下面我就用自己的话来了。 数据库里面存放数据用表,而我们程序代码使用类,一个是数据世界的弄法,一个是对象世界的弄法。EF就是为我们做这种对象映射的处理,让我可以不用关心数据库,只关系类 怎么设计就行了。 我说完了。它主要就是这个对吧,当然会有其他的很多东西,通过程序直接创建数据库,然后更多的精力放到了类上,业务逻辑上,突然多出来的精力没处使,是不是就弄出了什么领域驱动设计? 现在来创建一个控制台程序,安装EF,打开程序包管理控制台输入命令:install-package entityframework 创建Blog类,写一个EFDbContext类,这个类派生自DbContext,为blog公开一个DbSet属性 然后在main方法里面实例化上下文对象,添加一个blog实例,接着查询这个实例,打印出来 然后控制台大概过了十多秒,看到了刚刚添加的数据,那么简单的创建数据库、表就完了~ namespace _20190105 { public

Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 终极篇

那年仲夏 提交于 2020-04-14 07:29:18
【今日推荐】:为什么一到面试就懵逼!>>> 本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习与总结。 总共分三个部分: 基础篇主要针对C#初学者,巩固C#常用知识点; 中级篇主要针对WPF布局与MaterialDesign美化设计,在减轻代码量的情况做出漂亮的应用; 终极篇为框架应用实战,包含系统分层、MVVM框架Prism安装与使用、ORM框架EntityFramework Core配置与使用、开源数据库Postgresql配置与使用。 目录 Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 基础篇 Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 中级篇 Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 终极篇 前言 此篇主要介绍系统分层模型、如何安装Prism快速开发模板与MVVM框架使用、如何配置ORM框架Entity Framework Core与使用、以及Postgresql数据库配置。 系统分层 项目比较简单,大概分层模型如下: View双向绑定ViewModel;

使用MySql对IdentityServer4进行持久化

孤人 提交于 2020-04-11 07:32:29
  哈喽大家好,看见网上很少有使用MySql进行持久化的,毕竟又很多坑,说句实话,就连 MySql.Data.EntityFrameworkCore 都有问题,不知道是.net core更新太快还是其它的问题,但毕竟mssql驱动是没问题的,感觉还是私心太大了。不得以之下选择了一个第三方的驱动 Pomelo.EntityFrameworkCore.MySql 驱动,在这里主要是你安装了它,你就又了它的设计器,但你还需要你安装EFCore的设计器,因为你执行dotnet命令迁移的时候还得靠它,好吧,我们继续,在你的应用程序中最好保持这几个包。能多不能少。 <ItemGroup> <PackageReference Include= " IdentityServer4 " Version= " 2.0.0-rc1 " /> <PackageReference Include= " IdentityServer4.AspNetIdentity " Version= " 2.0.0-rc1 " /> <PackageReference Include= " IdentityServer4.EntityFramework " Version= " 2.0.0-rc1 " /> <PackageReference Include= " Microsoft.AspNetCore.All "

前言 -- 数据库准备、一些名词准备

佐手、 提交于 2020-04-07 06:35:49
前言 本系列整理自 EF 实体框架入门 。 数据库准备 该系列用到的数据库为 school,使用SQL Server。如果没有安装,可以使用VS附带的SQL Express。步骤省略,不清楚的可以使用“靠谱的”搜索引擎查找。 SQL脚本: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- 创建 Department 表。 IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Department]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[Department]( [DepartmentID] [int] NOT NULL, [Name] [nvarchar](50) NOT NULL, [Budget] [money] NOT NULL, [StartDate] [datetime] NOT NULL, [Administrator] [int] NULL, CONSTRAINT [PK_Department] PRIMARY KEY CLUSTERED ( [DepartmentID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON

使用ASP.NET MVC 5快速实现芒果分销后台管理系统(前言)

和自甴很熟 提交于 2020-03-20 23:39:02
3 月,跳不动了?>>> 前言 在前一篇文章中,我提到最近要陆续为大家写一些.Net实战技术文章。从今天起,我将围绕一个入门级现实的芒果分销管理系统案例,使用ASP.NET MVC 5,从前端到后端,一步一步为大家呈现整个系统的开发过程与业务关键架构以及代码。 如果您是一位.Net初学者 如果您刚刚接触MVC 如果您刚刚接触Entity Framework 如果您对本系列教程有些许兴趣 如果您一直想用.Net技术栈,从前端到后端开发,到发布,独立开发整套业务系统 那希望这篇入门级文章能够对您有所收获~! 系统业务介绍 给大家介绍下业务背景: 李老板住在一所老房子里,因为疫情原因,自己的工厂倒闭了。身边的朋友搞各式各样网购,整天卖货,真真假假,反正都取得了“成功”,这给李老板很大刺激。。李老板(化名,系统需求者)一天在芒果市场闲逛,市场的消费者寥寥无几,生意很是惨淡。他发现,这么大这么好的越南大青芒,竟然批发只要3.5一斤,一时间想出了一个赚钱的点子。这么便宜的东西,如果招代理,我提供货源,那我岂不是躺赚?假设批发价5元一斤,代理从我这拿货价7元一斤,邮费由批发市场承担,我有100个代理帮忙直销,每个代理每天有100个订单,每个订单净重芒果10斤,那我每天赚的钱就是(7-5) 100 100 = 20000块!!!! 李老板经过与批发市场老板几番洽谈,最终达成一致