前言

关于 ASP.NET Core 2.0 的新功能可以查看我的这篇博客。 这篇文章是 Priview2中的一些改进。

.NET Core 2.0 - Preview2

  • Azure 的改进
  • Docker 镜像转移到了 Debian Stretch
  • 修复并支持 macOS High Sierra
  • 质量性能的改进
  • dotnet restore 将在 dotnet run,publish,build 的时候被隐式调用
  • .NET Standard 库可以引用 .NET Framework库了
  • .NET Standard NuGet 包 nuspec 不再需要添加对于NETStandard.Library依赖关系了

ASP.NET Core 2.0 - Preview2

  • 更新了 Visual Studio 的模板,多了SPA项目的模板。 包括(Angular, React.js, React.js and Redux)等。

  • 添加了在 Visual Studio 2017 中新建 ASP.NET Core 项目使用 .NET Framework框架的模板。

  • Kestrel 添加了一些配置选项,包括(MaxConcurrentConnections,MaxRequestBodySize,RequestBodyMinimumDataRate)等。

  • Razor 支持 C# 7.1。 此项配置可以在csproj中指定<LangVersion>latest</ LangVersion>开启。

  • 对于MVC Action中FileStreamResult,FileContentResult 的Http头增加了支持的范围。 现在可以添加 ETag, LastUpdate等。

  • 新增了两个关于Razor Page的过滤器(IPageFilter,IAsyncPageFilter)。

  • 关于 Priview 1中的 Identity 相关的服务还有配置HTTPS的被割掉了,他们还需要时间进行打磨,等待以后发布。

Entity Framework Core 2.0 - Preview2

  • 新的 NuGet 包以及工具包(Microsoft.EntityFrameworkCore.Tools.DotNet)
  • FromSql和ExecuteSqlCommand中的字符串插值,他们生成的SQL将会自动参数化。
var city = "London";
var contactTitle = "Sales Representative"; using (var context = CreateContext())
{
context.Customers
.FromSql($@"
SELECT *
FROM Customers
WHERE City = {city}
AND ContactTitle = {contactTitle}")
.ToArray();
}

生成的SQL:

@p0='London' (Size = 4000)
@p1='Sales Representative' (Size = 4000) SELECT *
FROM Customers
WHERE City = @p0
AND ContactTitle = @p1
  • 实体类型自动分割表(完善Priview1中的功能),下面将只会创建一个表。
modelBuilder.Entity<Order>().OwnsOne(
p => p.OrderDetails,
cb =>
{
cb.OwnsOne(c => c.BillingAddress);
cb.OwnsOne(c => c.ShippingAddress);
}); public class Order
{
public int Id { get; set; }
public OrderDetails OrderDetails { get; set; }
} public class OrderDetails
{
public Address BillingAddress { get; set; }
public Address ShippingAddress { get; set; }
} public class Address
{
public string Street { get; set; }
public string City { get; set; }
}
  • 数据库函数映射,你可以在代码中使用数据库中定义的函数了,注意返回值只能是单个的(scalar)。
public class BloggingContext : DbContext
{
[DbFunction] // 添加这个标记,静态方法
public static int PostReadCount(int blogId)
{
throw new Exception();
}
}

将会调用数据库中定义的PostReadCount函数,函数必须自己手动创建,EF不会自动生成。

var query =
from p in context.Posts
where BloggingContext.PostReadCount(p.Id) > 5
select p;
  • 其他的改进(兼容性,过时api等)

本文地址:http://www.cnblogs.com/savorboard/p/dotnetcore2-feature.html

作者博客:Savorboard

欢迎转载,请在明显位置给出出处及链接

.NET Core 2.0 Preview2 发布汇总的更多相关文章

  1. .NET Core 2.0 正式发布信息汇总

    万众瞩目的.NET Core 2.0终于发布了,原定于9.19的dotnetconf大会的发布时间大大提前了1个月,.NET Core 2.0/.NET Standard 2.0的正式发布是.NET ...

  2. Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)

    上一篇:Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1) 服务器版本 Ubuntu 16.04 LTS. 本 ...

  3. [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  4. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  5. .NET Core 3.0即将发布!

    期待已久的.NET Core 3.0即将发布! .NET Core 3.0在.NET Conf上发布.大约还有9个多小时后,.NET Conf开始启动. 为期3天的大概日程安排如下: 第1天-9月23 ...

  6. 在.NET Core 3.0中发布单个Exe文件(PublishSingleFile)

    原文:在.NET Core 3.0中发布单个Exe文件(PublishSingleFile) 假设我有一个简单的" Hello World"控制台应用程序,我想发送给朋友来运行.朋 ...

  7. Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1)

    相关博文: Ubuntu 简单安装和配置 GitLab Ubuntu 简单安装 Docker Ubuntu Docker 简单安装 GitLab Ubuntu Docker 安装和配置 GitLab ...

  8. ASP.NET Core 2.0 新功能汇总

    前言 ASP.NET Core 的变化和发展速度是飞快的,当你发现你还没有掌握 ASP.NET Core 1.0 的时候, 2.0 已经快要发布了,目前 2.0 处于 Preview 1 版本,意味着 ...

  9. ASP.NET Core 2.0 MVC 发布部署--------- CentOS7 X64 具体操作

    .Net Core 部署到 CentOS7 64 位系统中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是 ...

随机推荐

  1. 将字符串当做是php代码执行的函数eavl()

  2. Java学习笔记——序列化和反序列化

    寒雨连江夜入吴,平明送客楚山孤. 洛阳亲友如相问,一片冰心在玉壶. --芙蓉楼送辛渐 持久化数据的第一种方式.在序列化之前也可以把数据打散逐行存储在文件中,然后在逐行读取. 比如定Student类 用 ...

  3. 如何使用RSYNC搭建备份服务器

    1. RSYNC介绍 RSYNC是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平台. 远程数 ...

  4. ConcurrentSkipListMap深入分析

    1.前言 ConcurrentHashMap与ConcurrentSkipListMap性能测试 在4线程1.6万数据的条件下,ConcurrentHashMap 存取速度是ConcurrentSki ...

  5. Alamofire源码解读系列(十二)之请求(Request)

    本篇是Alamofire中的请求抽象层的讲解 前言 在Alamofire中,围绕着Request,设计了很多额外的特性,这也恰恰表明,Request是所有请求的基础部分和发起点.这无疑给我们一个Req ...

  6. VS2010 使用 EF5 框架步骤

    1.安装 nuget , 在nuget里联机查找 EF 5.x DbContext Generator for C# 模版下载安装 2.nuget 控制台执行 Install-Package Enti ...

  7. CPU Affinity

    Reference: [1] http://www.linuxjournal.com/article/6799 Soft vs. Hard CPU Affinity There are two typ ...

  8. Windows 自动获取IP脚本

    @echo off echo 正在自动获取IP地址.... set 连接名称=以太网 netsh interface ip set address name = "%连接名称%" ...

  9. BattleInfo

    private Dictionary<string, UILabel> mLabels; private Dictionary<string,UISprite> mSprite ...

  10. 错误处理1: D:\a1-C++\C++作业\第五次1.cpp undefined reference to `vtable for Shape'

    在编译程序的时候遇到此误,在google上查,很多地方都说是因为虚基类里面的虚拟析构函数没有提供实现导致的.但是我的已经提供了实现,也不行.最后发现是其他没有提供实现的虚函数造成的.所以,在一个虚基类 ...