Heim >Backend-Entwicklung >C#.Net-Tutorial >Detaillierte Einführung in .NET Core 2.0 Preview2
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.currentConnections, MaxRequestBodySize, RequestBodyMinimumDataRate) usw.
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.
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 = @p1Entitä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!