.NET Core 2.0 Preview2的详细介绍


本文摘自PHP中文网,作者零下一度,侵删。

这篇文章主要为大家详细介绍了.NET Core 2.0 Preview2 发布汇总的相关内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

前言

关于 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将会自动参数化。

1

2

3

4

5

6

7

8

9

10

11

12

13

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:

1

2

3

4

5

6

7

@p0='London' (Size = 4000)

@p1='Sales Representative' (Size = 4000)

 

SELECT *

FROM Customers

WHERE City = @p0

 AND ContactTitle = @p1

实体类型自动分割表(完善Priview1中的功能),下面将只会创建一个表。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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)。

1

2

3

4

5

6

7

8

public class BloggingContext : DbContext

{

 [DbFunction] // 添加这个标记,静态方法

 public static int PostReadCount(int blogId)

 {

 throw new Exception();

 }

}

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

1

2

3

4

var query =

 from p in context.Posts

 where BloggingContext.PostReadCount(p.Id) > 5

 select p;

其他的改进(兼容性,过时api等)

以上就是.NET Core 2.0 Preview2的详细介绍的详细内容!

相关阅读 >>

asp .net 面试题及答案分享

c#中关于foreach遍历使用的深入理解

c#中使用反射以及特性简化的实例代码

c#cs与bs数据请求交换

c#如何实现json与对象之间互相转换功能示例

asp.net core mvc中如何把二级域名绑定到特定的控制器上

.net 打开文件

c#编写windows服务程序的图文详解

c#连接ftp时路径出现问题的解决方法

详细介绍一个.net开源权限管理系统

更多相关阅读请进入《Preview2》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...