Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in .NET Core 2.0 Preview2

Detaillierte Einführung in .NET Core 2.0 Preview2

零下一度
零下一度Original
2018-05-15 15:27:342024Durchsuche

Dieser Artikel stellt hauptsächlich den relevanten Inhalt der .NET Core 2.0 Preview2-Release-Zusammenfassung im Detail vor. Interessierte Freunde können darauf verweisen

Vorwort

Informationen zu den neuen Funktionen von ASP.NET Core 2.0 finden Sie in diesem Blog von mir. In diesem Artikel geht es um einige Verbesserungen in Priview2.

.NET Core 2.0 - Preview2

Azure-Verbesserungen
Docker-Images nach Debian Stretch verschoben
Korrekturen und Unterstützung für macOS High Sierra
Qualität und Leistungsverbesserung
Dotnet-Wiederherstellung wird implizit während der Dotnet-Ausführung, Veröffentlichung, Erstellung aufgerufen
.NET Standard-Bibliothek kann auf .NET Framework-Bibliothek verweisen
.NET Standard NuGet Das Paket nuspec muss keine Abhängigkeiten mehr für NETStandard.Library

ASP.NET Core 2.0 – Preview2

Die Vorlagen von Visual Studio wurden aktualisiert und Vorlagen für SPA-Projekte hinzugefügt. Einschließlich (Angular, React.js, React.js und Redux) usw.


Eine Vorlage zum Erstellen eines neuen ASP.NET Core-Projekts in Visual Studio 2017 mit dem .NET Framework-Framework hinzugefügt.


Kestrel fügt einige Konfigurationsoptionen hinzu, darunter (MaxCon

currentConnections, MaxRequestBodySize, RequestBodyMinimumDataRate) usw.

Razor unterstützt C# 7.1. Diese Konfiguration kann durch Angabe von

0f3802d193a0548f1e8805d4090d60c7latesta1ce00407b3b68bab908063fc8f7cbae in csproj aktiviert werden. Für FileStreamResult in MVC Action erhöht der HTTP-Header von FileContentResult den unterstützten Bereich. ETag, LastUpdate usw. können jetzt hinzugefügt werden.

Zwei neue

Filter (IPageFilter, IAsyncPageFilter) für Razor Page hinzugefügt. Was die identitätsbezogenen Dienste in Priview 1 und die Konfiguration von HTTPS betrifft, so müssen diese noch aufpoliert und auf eine zukünftige Veröffentlichung gewartet werden.

Entity Framework Core 2.0 – Preview2

Neues NuGet-Paket und Toolkit (Microsoft.EntityFrameworkCore.Tools.DotNet)


FromSql und ExecuteSqlCommand >String Interpolation, das von ihnen generierte SQL wird automatisch parametrisiert.

var city = "London";
var contactTitle = "Sales Representative";

using (var context = CreateContext())
{
 context.Customers
 .FromSql($@"
 SELECT *
 FROM Customers
 WHERE City = {city}
 AND ContactTitle = {contactTitle}")
 .ToArray();
}
Generiertes SQL:

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

SELECT *
FROM Customers
WHERE City = @p0
 AND ContactTitle = @p1
Entitätstyp teilt die Tabelle automatisch auf (Verbesserung der Funktion in Priview1), unten wird nur eine Tabelle erstellt.

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; }
}
Datenbankfunktionszuordnung: Sie können in der Datenbank definierte Funktionen in Ihrem Code verwenden. Beachten Sie, dass der Rückgabewert nur ein einzelner (skalarer) Wert sein kann.

public class BloggingContext : DbContext
{
 [DbFunction] // 添加这个标记,静态方法
 public static int PostReadCount(int blogId)
 {
 throw new Exception();
 }
}
ruft die in der Datenbank definierte PostReadCount-Funktion auf. Die Funktion muss manuell erstellt werden und wird von EF nicht automatisch generiert.

var query =
 from p in context.Posts
 where BloggingContext.PostReadCount(p.Id) > 5
 select p;
Weitere Verbesserungen (Kompatibilität, veraltete API usw.)

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in .NET Core 2.0 Preview2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn