Net Core2.0 升级到.Net Core 2.1
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的更多相关文章
- 将系统从.Net Core2.0升级到.Net Core2.1
最近将手头的一个.Net Core2.0开发的小系统升级到最新的Core2.1.升级期间遇到了一些问题,现将问题以及解决方法整理汇总一下. 一是作为笔记,二也为跟各位分享一下.如过能帮到看到这帖子的人 ...
- 项目从.net core 2.1.0升级到.net core 2.2.4,原有项目出错及解决方案
... 1.Controller中的形参命名为query.pager,且里面实体中的参数也有Query.Pager参数时,Query.Pager 就会无数据. 解决方案: 形参query.pager ...
- ASP.NET Core 实战:将 .NET Core 2.0 项目升级到 .NET Core 2.1
一.前言 最近一两个星期,加班,然后回去后弄自己的博客,把自己的电脑从 Windows 10 改到 Ubuntu 18.10 又弄回 Windows 10,原本计划的学习 Vue 中生命周期的相关知 ...
- WebApi迁移ASP.NET Core2.0
WebApi迁移ASP.NET Core2.0 一步一步带你做WebApi迁移ASP.NET Core2.0 随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的AS ...
- 升级到 .NET Core 2.1
从 .NET Core 2.0 升级到 .NET Core 2.1 最近在翻译 <Pro ASP.NET Core MVC 2>这本书,书中的示例是以 .NET Core 2.0 为基础的 ...
- ASP.NET Core 2.1 : 十.升级现有Core2.0 项目到2.1
.NET Core 2.1 终于发布了, 赶紧升级一下. 一. 安装SDK 首先现在并安装 SDK(64-bit) 安装完毕后如果新建项目可以看到已经有2.1的选项了 二. 更新现有2.0项目到2.1 ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-10项目各种全局帮助类
本文目录 1. 前沿2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装3.XmlHelper快速操作xml文档4.SerializationHe ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-9项目各种全局帮助类
本文目录 1. 前沿2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装3.XmlHelper快速操作xml文档4.SerializationHe ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-6项目缓冲方案
Asp.Net Core2.0下使用memcached缓存. Memcached目前微软暂未支持,暂只支持Redis,由于项目历史原因,先用博客园开源项目EnyimMemcachedCore,后续用到 ...
随机推荐
- C# Combobox联动
接上一篇博文,对界面做一个小修改,做4个combobox,形成窗口之间的联动: 界面如下: 选择combobox里的条件,单击查询获取数据 首先连接数据库,获取到数据到第一个combobox里,代码在 ...
- IntelliJ IDEA Tomcat中端口被占用的问题
早上来公司,新建了一个项目,启动Tomcat,报错,如图所示 端口1099被占用 cmd——netstat -aon|findstr 1099 此时出现了一个问题,输入:netstat -an,提示: ...
- 【二十二】mysqli事务处理与预处理总结
事务处理 事务基本原理 如果不开启事务,执行一条sql,马上会持久化数据.可见:默认的mysql对sql语句的执行是自动提交的! 如果开启了事务,就是关闭了自动提交的功能,改成了commit执行自动提 ...
- python中那些双下划线开头得函数和变量
Python中下划线---完全解读 Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用’from module import *’导入 __xxx__ 系统定义名字 __x ...
- Qt532,鼠标键盘事件_ZC
1.判断鼠标左键是否是 按下的状态 void TdrWebview::mouseMoveEvent(QMouseEvent *_pEvent) { if (_pEvent->buttons() ...
- Codeforces 934D - A Determined Cleanup
934D - A Determined Cleanup 思路: 找规律,和k进制的求法差不多,答案的奇数位是p%k,偶数位如果p%k!=0,那么答案是k-p%k,否则为0. 代码: #include& ...
- Python - requests https请求的坑
#-*-coding:utf-8-*- # Time:2017/9/25 20:41 # Author:YangYangJun import requests import ssl from requ ...
- idataway_前端
一半架构,一半标准.---纯属个人意见 ----------------------------------------- 基本的插件:(尽量使用iviews) 1.传输图片. 2.下拉框.日期控件. ...
- anaconda安装tensorflow
1.下载anaconda python3.5版本,Windows不支持python3.6,linux和mac支持python2.7和python3.3+ 2.创建环境 conda create - ...
- js滚动条如何缓慢的回到顶部?
function top() { let currentPosition, timer timer = setInterval(function () { currentPosition = docu ...