摘要:DisplayFormat 特性用于显式指定日期格式: [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] public DateTime ReleaseDate { get; set;
阅读全文
摘要:在Models目录下添加SeedData类 1 using Microsoft.EntityFrameworkCore; 2 using MvcMovie.Data; 3 4 namespace MvcMovie.Models 5 { 6 public static class SeedData 7
阅读全文
摘要:解决方法: 直接在“数据库连接字符串最后面”增加证书信任的配置。 ;TrustServerCertificate=true 或者 连接字符串里的设置是:Encrypt=True;TrustServerCertificate=True;
阅读全文
摘要:1. 执行Sql 非查询语句 [HttpPost("InsertBatch")] public async Task<ActionResult> InsertBatch() { string title = "执行原生Sql非查询语句"; double price = 89.6; DateTime
阅读全文
摘要:1 namespace MvcMovie.Utility 2 { 3 /// <summary> 4 /// 分页帮助类 5 /// </summary> 6 public class PageHelper 7 { 8 public PageHelper(int pageSize, int page
阅读全文
摘要:一、IEnumerable 和 IQueryable 的区别 1. IEnumerable (客户端评估) 1.1 是立即查询Sql执行,除了生成首次的 Where 条件之外,之后的查询条件都是在内存中进行,当数据量很大时,性能就会有问题。 2. IQueryable (服务器端评估 推荐) 2.1
阅读全文
摘要:在EF Core 中进行跨表数据查询变得非常容易,但是开发人员仍然需要关注和调整 EF Core 底层生成的 SQL 语句,确保在系统的重要环节不会有明显的性能瓶颈。 [HttpGet("query/{message}")] public async Task<ActionResult<IEnume
阅读全文
摘要:一对多和一对一都只需要在表中增加外键列,但是在多对多关系中,我们必须引入一张中间表保存两张表之间的关联关系。 多对多:不需要声明中间表实体,也不需要声明外键。 实体: public class Teacher { public long Id { get; set; } public string
阅读全文
摘要:一个订单对应一个快递信息 在一对多关系中,EF Core 会自动在多端的表中生成一个指向一端的外键列,不需要我们显式地声明外键属性。但是在一对一关系中,必须显式地在其中一个实体类中声明一个外键属性。 实体类: /// <summary> /// 订单 /// </summary> public cl
阅读全文
摘要:一对多 单向导航属性 实体类: /// <summary> /// 用户 /// </summary> public class User { public long Id { get; set; } /// <summary> /// 姓名 /// </summary> public string
阅读全文
摘要:EF Core 支持一对多、多对对、一对一 关系。 一篇文章 Article 包含多条评论 Comment Article(1)——》Comment(1,2,3...) 对于主从结构的“一对多”表关系,我们一般声明为双向导航属性,对于其它的“一对多”,则需根据情况决定使用单向导航属性还是双向导航属性
阅读全文
摘要:查看EF Core 执行时生成的Sql语句 在DbContext上下文中添加以下代码,在程序操作数据库时,就能在控件台看到Sql语句。 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { op
阅读全文
摘要:EF Core 除了用数据注释 Data Annotation 对实体类进行配置之外,还提供了Fluent API 的方式 对实体类进行配置。 Fluent API 优势: 1. 能够更好的进行职责分离。实体类只负责抽象描述,不涉及和数据库相关的细节,所有数据库相关的细节都放到配置类中,这样我们能更
阅读全文
摘要:一、appsetting.json 声明连接字符串 "ConnectionStrings": { "DefaultConnection": "Server=DESKTOP-DABHN6U\\MSSQLSERVER2014;uid=sa;pwd=Lz38275292;database=SPA;Mult
阅读全文
摘要:以下代码在”程序包管理控件器“窗口执行,且必须添加:Microsoft.EntityFrameworkCore.Tools 包 初始化并且创建迁移: add-migration InitialCreate 命令行方式: dotnet ef migrations add Added_TodoItem
阅读全文
摘要:为了避免多个用户同时操作同一个资源造成的并发冲突问题,通常需要进行并发控制。 并发控制分为:乐观和悲观两策略 悲观:悲观并发控制一般采用行锁、表锁等 排它销对资源进行锁定,确保一个时间点只有一个用户在操作被锁定的资源。 悲观并发控件的使用比较简单,仅对要进行并发控制的资源加上锁即可,但是这种锁是独占
阅读全文
摘要:Nuget引用组件: Microsoft.EntityFrameworkCore.Design Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.Tools 连接字符串 appsetting.json "Con
阅读全文
摘要:安装: 1.NuGet中添加 OnceMi.AspNetCore.IdGenerator 程序集 2.Program中设置参数 //AppId,Appid范围为0-63 builder.Services.AddIdGenerator(m => { m.AppId = 1; }); 3.获取ID [A
阅读全文