1. 安装新 .Net Core SDK 2.1

2. 升级VS.net 到15.7, 这个版本极其不好用,IIS打中文会自动退出,但现在也没办法降级了.只能等微软打补丁.

3. 对于面向 ASP.NET Core 2.1 及更高版本的应用程序,建议使用 Microsoft.AspNetCore.App 而不是Microsoft.AspNetCore.All

https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/metapackage?view=aspnetcore-2.1

4. 多了warning和sql injection detection

@Html.PartialAsync("_Header")

5. NLog.config, 重新设置一下 copy to bin :always

升级到.Net Core 2.1, 我在Mac上的Mysql连接不了,因为现在只支持.Net Core 2.0, 没办法只能降回2.0,   现在已经支持2.1了. 而且2.1是长期支持的版本. 还是要升级上去的.

但是project文件改tareget framework没有用,我只能找回几天前的project文件替换.

6. EF Core 2.1 支持 Lazy Loading, Model里定义为虚 virtual属性的字段,可以延迟加载

Install-Package Microsoft.EntityFrameworkCore.Proxies -Version 2.1.

Startup.cs的configureSerice里增加

services.AddDbContext<SchoolContext>(options =>
options.UseLazyLoadingProxies().UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); //如果未在Context中添加UseLazyLoadingProxies,导航属性不会添加

在实体框架Entity Framework 6及之前的版本中,数据模型的导航属性只要加上virtual关键字,在你访问这个属性的时候(不管是对象还是对象集合),EF的内部机制就会自动加载相关数据。

这一特性就称之为Lazy Loading,其为开发带来极大方便(尤其需要快速开发的时候),因为不用操心去查询关联数据。当然缺点也很明显,就是这种查询方式其实是低效的,且在某些情况下使用不当也会造成性能问题。

当然除了使用Lazy Loading外,你还可以使用Include来预先加载关联数据(执行一次查询返回多个数据结果),此特性称之为Eagerly Loading

在EF6.x和EF Core 中,Include的使用基本一致,不过在加载多级数据的时候就有所不同了。EF6.x的方式比较简单直接,详细见:https://msdn.microsoft.com/zh-cn/data/jj574232#eagerLevels

在EF Core 中就需要用到新的ThenInclude方法。详细用法见下面的示例代码:

var get = await db2.Sites
.Include(o => o.ArticleColumns).ThenInclude(o => o.Categories)
.SingleOrDefaultAsync(o => o.Id == site.Id);

参考: http://www.cnblogs.com/dudu/p/9009295.html

Net Core2.0 升级到.Net Core 2.1的更多相关文章

  1. 将系统从.Net Core2.0升级到.Net Core2.1

    最近将手头的一个.Net Core2.0开发的小系统升级到最新的Core2.1.升级期间遇到了一些问题,现将问题以及解决方法整理汇总一下. 一是作为笔记,二也为跟各位分享一下.如过能帮到看到这帖子的人 ...

  2. 项目从.net core 2.1.0升级到.net core 2.2.4,原有项目出错及解决方案

    ... 1.Controller中的形参命名为query.pager,且里面实体中的参数也有Query.Pager参数时,Query.Pager 就会无数据. 解决方案: 形参query.pager ...

  3. ASP.NET Core 实战:将 .NET Core 2.0 项目升级到 .NET Core 2.1

    一.前言  最近一两个星期,加班,然后回去后弄自己的博客,把自己的电脑从 Windows 10 改到 Ubuntu 18.10 又弄回 Windows 10,原本计划的学习 Vue 中生命周期的相关知 ...

  4. WebApi迁移ASP.NET Core2.0

    WebApi迁移ASP.NET Core2.0 一步一步带你做WebApi迁移ASP.NET Core2.0   随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的AS ...

  5. 升级到 .NET Core 2.1

    从 .NET Core 2.0 升级到 .NET Core 2.1 最近在翻译 <Pro ASP.NET Core MVC 2>这本书,书中的示例是以 .NET Core 2.0 为基础的 ...

  6. ASP.NET Core 2.1 : 十.升级现有Core2.0 项目到2.1

    .NET Core 2.1 终于发布了, 赶紧升级一下. 一. 安装SDK 首先现在并安装 SDK(64-bit) 安装完毕后如果新建项目可以看到已经有2.1的选项了 二. 更新现有2.0项目到2.1 ...

  7. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-10项目各种全局帮助类

    本文目录 1.  前沿2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装3.XmlHelper快速操作xml文档4.SerializationHe ...

  8. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-9项目各种全局帮助类

    本文目录 1.  前沿2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装3.XmlHelper快速操作xml文档4.SerializationHe ...

  9. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-6项目缓冲方案

    Asp.Net Core2.0下使用memcached缓存. Memcached目前微软暂未支持,暂只支持Redis,由于项目历史原因,先用博客园开源项目EnyimMemcachedCore,后续用到 ...

随机推荐

  1. Linux硬盘分区满,但没有找到占用文件

    原因查找: 此服务器上有写日志的操作,在写的同时我把要写入的文件删除了..因为在写操作不能创建文件的时候会写硬盘的block,这样会使硬盘利用率越来越低,可以使用lsof -n |grep delet ...

  2. R语言矩阵栅格显示矩阵颜色显示

    效果如下:

  3. 从flask视角学习angular(一)整体对比

    写在前面 前端框架完全不懂. 看着angular中文官网的英雄编辑器教程和核心知识,用偷懒的类比法,从flask django的角度 记录一下自己对angular的理解. 作为工科的武曲,自己的体会是 ...

  4. Netty实现简易http_server

    Netty可以通过一些handler实现简单的http服务器.具体有三个类,分别是HttpServer.java.ServerHandlerInit.java.BusiHandler.java. 具体 ...

  5. mybatis-generator-core 自动生成实体和Mapper

    所谓mybatis-generator-core就是利用mybatis-generator-core.jar自动生成数据库对应的实体和映射文件.首先要下载mybatis-generator-core- ...

  6. 文件上传MultipartBody使用方法

    最近有使用一个文件上传的功能,需要在请求中添加文件,一起传给服务器 Okhttp提供了这个文件添加然后上传的功能 下面给出核心的代码,然后分析一下 //多个文件上传,Filelist private ...

  7. codeforces 848B Rooter's Song 思维题

    http://codeforces.com/problemset/problem/848/B 给定一个二维坐标系,点从横轴或纵轴垂直于发射的坐标轴射入(0,0)-(w,h)的矩形空间.给出点发射的坐标 ...

  8. Fiddler拦截http请求修改数据

    1.拦截http请求 使用Fiddler进行HTTP断点调试是fiddler一强大和实用的工具之一.通过设置断点,Fiddler可以做到: ①修改HTTP请求头信息.例如修改请求头的UA,Cookie ...

  9. 有标号的DAG计数

    看了某神仙博客学了一手,基本的思路就是容斥入度为0的点. n^2做法. F(n)=sigema i (-1)^(i-1)✖ C(n,i)✖ F(i)✖ 2^(j*(i-j)) nlogn做法 对上述式 ...

  10. python3 设置滚动条

    #!python3#coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.by import Byimpor ...