Maison >développement back-end >Tutoriel C#.Net >Introduction détaillée à .NET Core 2.0 Preview2
Cet article présente principalement en détail le contenu pertinent du résumé de la version .NET Core 2.0 Preview2. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Avant-propos
<.>Pour plus d'informations sur les nouvelles fonctionnalités de.NET Core 2.0 - Aperçu2
Améliorations d'AzureImages Docker déplacées vers Debian Stretch
Corrections et prise en charge de macOS High Sierra
Qualité et Amélioration des performances
restauration dotnet sera appelée implicitement lors de l'exécution, de la publication et de la construction de dotnetLa bibliothèque .NET Standard peut faire référence à la bibliothèque .NET Framework
.NET Standard NuGet Le package nuspec n'a plus besoin d'ajouter de dépendances pour
NETStandard.Library
ASP.NET Core 2.0 - Preview2
Mise à jour des modèles de Visual Studio et ajout de modèles pour les projets SPA. Y compris (Angular, React.js, React.js et Redux), etc.currentConnections, MaxRequestBodySize, RequestBodyMinimumDataRate), etc.
0f3802d193a0548f1e8805d4090d60c7latesta1ce00407b3b68bab908063fc8f7cbae dans csproj. Pour FileStreamResult dans MVC Action, l'en-tête Http de FileContentResult augmente la plage prise en charge. ETag, LastUpdate, etc. peuvent maintenant être ajoutés.
filtres (IPageFilter, IAsyncPageFilter) pour Razor Page. Concernant les services liés à l'identité dans la Preview 1 et à la configuration du HTTPS, ils ont été coupés. Ils ont encore besoin de temps pour peaufiner et attendre la prochaine version.
Entity Framework Core 2.0 - Preview2
Nouveau package et boîte à outils NuGet (Microsoft.EntityFrameworkCore.Tools.DotNet)
FromSql et ExecuteSqlCommand >String interpolation, le SQL qu'ils génèrent sera automatiquement paramétré.
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 généré :
@p0='London' (Size = 4000) @p1='Sales Representative' (Size = 4000) SELECT * FROM Customers WHERE City = @p0 AND ContactTitle = @p1Le type d'entité divise automatiquement la table (améliorant la fonction dans Priview1), une seule table sera créée en dessous.
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; } }Mappage des fonctions de base de données, vous pouvez utiliser les fonctions définies dans la base de données dans votre code. Notez que la valeur de retour ne peut être qu'une seule (scalaire).
public class BloggingContext : DbContext { [DbFunction] // 添加这个标记,静态方法 public static int PostReadCount(int blogId) { throw new Exception(); } }appellera la fonction PostReadCount définie dans la base de données. La fonction doit être créée manuellement et EF ne la générera pas automatiquement.
var query = from p in context.Posts where BloggingContext.PostReadCount(p.Id) > 5 select p;Autres améliorations (compatibilité, API obsolète, etc.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!