前言

关于 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. linux优化之SElinux关闭

    查看selinux状态: # getenforce   注:Enforcing表示开启,Permissive表示禁用 临时关闭或开启selinux: # setenforce  [1|0]  注:1是 ...

  2. Centos7通过Docker安装Sentry(哨兵)

    Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...

  3. POJ1845-Sumdiv大数约数和

    题目链接:http://poj.org/problem?id=1845 题目大意: 求A^B的所有约数和s.A和B都很大(0<=A,B<=50000000). 题目分析: 这道题让我学会了 ...

  4. vue-router2.x

    组件中的路由 <router-link to=""></router-link> 无参数 <router-link to="/ar/1&qu ...

  5. 【转】Java方向如何准备BAT技术面试答案(汇总版)

    原文地址:http://www.jianshu.com/p/1f1d3193d9e3 这个主题的内容之前分三个篇幅分享过,导致网络上传播的比较分散,所以本篇做了一个汇总,同时对部分内容及答案做了修改, ...

  6. 通过分析 JDK 源代码研究 TreeMap 红黑树算法实

    TreeMap和TreeSet是Java Collection Framework的两个重要成员,其中TreeMap是Map接口的常用实现类,而TreeSet是Set接口的常用实现类.虽然HashMa ...

  7. 关于TOE(TCP/IP Offload Engine)

    前言 昨天在电脑上抓取的报文,想进行回话,但是发现全部被设备丢弃了,没有debug信息,查看了抓包文件,原来是IP头和TCP.UDP头的检验和全部为0,也就是TOE(TCP/IP Offload En ...

  8. vim 编辑中执行正则表达式

    1.进入vim 编辑模式 2.输入:set magic 3.输入/,然后再次输入正则表达式

  9. Python爬虫一:爬取上交所上市公司信息

    前几天领导让写一个从新闻语料中识别上市公司的方案.上市公司属于组织机构的范畴,组织机构识别属于命名实体识别的范畴.命名实体识别包括人名.地名.组织机构等信息的识别. 要想从新闻语料中识别上市公司就需要 ...

  10. php如何应对秒杀抢购高并发思路

    我们常用QPS(Query Per Second,每秒处理请求数)来衡量一个web应用的吞吐率,解决每秒数万次的高并发场景,这个指标非常关键. 举个栗子:假设一个业务请求平均为100ms,同时系统内有 ...