首頁  >  文章  >  後端開發  >  .NET Core 2.0 Preview2的詳細介紹

.NET Core 2.0 Preview2的詳細介紹

零下一度
零下一度原創
2018-05-15 15:27:342024瀏覽

這篇文章主要為大家詳細介紹了.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 新增了一些設定選項,包括(MaxCon

currentConnections,MaxRequestBodySize,RequestBodyMinimumDataRate)等。

Razor 支援 C# 7.1。 此項配置可以在csproj中指定

0f3802d193a0548f1e8805d4090d60c7latesta1ce00407b3b68bab908063fc8f7cbae開啟。 對於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等)

以上是.NET Core 2.0 Preview2的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn