前言
关于 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 CustomersWHERE 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等) 总结
以上是内存溢出为你收集整理的.NET Core 2.0 Preview2的详细介绍全部内容,希望文章能够帮你解决.NET Core 2.0 Preview2的详细介绍所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)