Skip to content

Commit

Permalink
What's New for preview 5
Browse files Browse the repository at this point in the history
  • Loading branch information
ajcvickers committed Jun 11, 2024
1 parent 4ab234a commit bfc3811
Show file tree
Hide file tree
Showing 14 changed files with 893 additions and 72 deletions.
309 changes: 307 additions & 2 deletions entity-framework/core/what-is-new/ef-core-9.0/whatsnew.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Diagnostics;

public static class CosmosDiagnosticsSample
{
public static void Cosmos_diagnostics()
public static async Task Cosmos_diagnostics()
{
Console.WriteLine($">>>> Sample: {nameof(Cosmos_diagnostics)}");
Console.WriteLine();

Helpers.RecreateCleanDatabase();
Helpers.PopulateDatabase();
await Helpers.RecreateCleanDatabase();
await Helpers.PopulateDatabase();

using var context = new ShapesContext();

Expand All @@ -30,23 +30,23 @@ public static void Cosmos_diagnostics()
InsertedOn = DateTime.UtcNow
};
context.Add(triangle);
context.SaveChanges();
await context.SaveChangesAsync();
#endregion

Console.WriteLine();
Console.WriteLine("Query diagnostic events:");
Console.WriteLine();

#region QueryEvents
var equilateral = context.Triangles.Single(e => e.Name == "Equilateral");
var equilateral = await context.Triangles.SingleAsync(e => e.Name == "Equilateral");
#endregion

Console.WriteLine();
Console.WriteLine("Find diagnostic events:");
Console.WriteLine();

#region FindEvents
var isosceles = context.Triangles.Find("Isosceles", "TrianglesPartition");
var isosceles = await context.Triangles.FindAsync("Isosceles", "TrianglesPartition");
#endregion

Console.WriteLine();
Expand All @@ -55,7 +55,7 @@ public static void Cosmos_diagnostics()

#region UpdateEvents
triangle.Angle2 = 89;
context.SaveChanges();
await context.SaveChangesAsync();
#endregion

Console.WriteLine();
Expand All @@ -64,23 +64,23 @@ public static void Cosmos_diagnostics()

#region DeleteEvents
context.Remove(triangle);
context.SaveChanges();
await context.SaveChangesAsync();
#endregion

Console.WriteLine();
}

public static class Helpers
{
public static void RecreateCleanDatabase()
public static async Task RecreateCleanDatabase()
{
using var context = new ShapesContext(quiet: true);

context.Database.EnsureDeleted();
context.Database.EnsureCreated();
await context.Database.EnsureDeletedAsync();
await context.Database.EnsureCreatedAsync();
}

public static void PopulateDatabase()
public static async Task PopulateDatabase()
{
using var context = new ShapesContext(quiet: true);

Expand All @@ -94,7 +94,7 @@ public static void PopulateDatabase()
};

context.AddRange(triangles);
context.SaveChanges();
await context.SaveChangesAsync();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,21 @@
using System.Collections.Generic;
using System.Linq;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Diagnostics;

public static class CosmosImplicitOwnershipSample
{
public static void Cosmos_models_use_implicit_ownership_by_default()
public static async Task Cosmos_models_use_implicit_ownership_by_default()
{
Console.WriteLine($">>>> Sample: {nameof(Cosmos_models_use_implicit_ownership_by_default)}");
Console.WriteLine();

using (var context = new FamilyContext())
{
context.Database.EnsureDeleted();
context.Database.EnsureCreated();
await context.Database.EnsureDeletedAsync();
await context.Database.EnsureCreatedAsync();

context.AddRange(
new Family
Expand Down Expand Up @@ -44,7 +45,7 @@ public static void Cosmos_models_use_implicit_ownership_by_default()
LastName = "Wakefield",
Parents =
{
new() { FamilyName = "Wakefield", FirstName = "Robin" },
new() { FamilyName = "Wakefield", FirstName = "Robin" },
new() { FamilyName = "Miller", FirstName = "Ben" }
},
Children =
Expand All @@ -69,14 +70,14 @@ public static void Cosmos_models_use_implicit_ownership_by_default()
IsRegistered = true
});

context.SaveChanges();
await context.SaveChangesAsync();
}

Console.WriteLine();

using (var context = new FamilyContext())
{
var families = context.Families.ToList();
var families = await context.Families.ToListAsync();

Console.WriteLine();

Expand All @@ -96,10 +97,10 @@ public class Family
{
[JsonPropertyName("id")]
public string Id { get; set; }

public string LastName { get; set; }
public bool IsRegistered { get; set; }

public Address Address { get; set; }

public IList<Parent> Parents { get; } = new List<Parent>();
Expand Down Expand Up @@ -153,7 +154,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity<Family>().HasPartitionKey(e => e.LastName);
#endregion
}

// Never called; just for documentation.
private void OldOnModelCreating(ModelBuilder modelBuilder)
{
Expand All @@ -167,7 +168,7 @@ private void OldOnModelCreating(ModelBuilder modelBuilder)
.OwnsMany(c => c.Pets);

modelBuilder.Entity<Family>()
.OwnsOne(f => f.Address);
.OwnsOne(f => f.Address);
#endregion
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Diagnostics;

public static class CosmosPrimitiveTypesSample
{
public static void Collections_and_dictionaries_of_primitive_types()
public static async Task Collections_and_dictionaries_of_primitive_types()
{
Console.WriteLine($">>>> Sample: {nameof(Collections_and_dictionaries_of_primitive_types)}");
Console.WriteLine();

Helpers.RecreateCleanDatabase();
await Helpers.RecreateCleanDatabase();

#region Insert
using var context = new BooksContext();
Expand All @@ -35,27 +36,27 @@ public static void Collections_and_dictionaries_of_primitive_types()
};

context.Add(book);
context.SaveChanges();
await context.SaveChangesAsync();
#endregion

#region Updates
book.Quotes.Add("Pressing the emergency button lowered the rods again.");
book.Notes["48"] = "Chiesa d'Oro";

context.SaveChanges();
await context.SaveChangesAsync();
#endregion

Console.WriteLine();
}

public static class Helpers
{
public static void RecreateCleanDatabase()
public static async Task RecreateCleanDatabase()
{
using var context = new BooksContext(quiet: true);

context.Database.EnsureDeleted();
context.Database.EnsureCreated();
await context.Database.EnsureDeletedAsync();
await context.Database.EnsureCreatedAsync();
}
}

Expand Down
6 changes: 3 additions & 3 deletions samples/core/Miscellaneous/NewInEFCore6.Cosmos/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ public class Program
public static async Task Main()
{
// Note: These samples requires the Cosmos DB emulator to be installed and running
CosmosPrimitiveTypesSample.Collections_and_dictionaries_of_primitive_types();
await CosmosPrimitiveTypesSample.Collections_and_dictionaries_of_primitive_types();
await CosmosQueriesSample.Cosmos_queries();
CosmosDiagnosticsSample.Cosmos_diagnostics();
await CosmosDiagnosticsSample.Cosmos_diagnostics();
CosmosModelConfigurationSample.Cosmos_configure_time_to_live();
await CosmosModelConfigurationSample.Cosmos_configure_time_to_live_per_instance();
CosmosImplicitOwnershipSample.Cosmos_models_use_implicit_ownership_by_default();
await CosmosImplicitOwnershipSample.Cosmos_models_use_implicit_ownership_by_default();
CosmosMinimalApiSample.Add_a_DbContext_and_provider();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0-preview.5.24251.2">
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0-preview.6.24304.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0-preview.5.24251.2">
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0-preview.6.24304.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0-preview.5.24251.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0-preview.5.24251.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tasks" Version="9.0.0-preview.5.24251.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0-preview.6.24304.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0-preview.6.24304.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tasks" Version="9.0.0-preview.6.24304.2" />
</ItemGroup>

<ItemGroup>
Expand Down
Loading

0 comments on commit bfc3811

Please sign in to comment.