Unverified Commit d8d86869 authored by Steve Smith's avatar Steve Smith Committed by GitHub

Updating to 2.2 (#63)

* Updating ToDoItem

* Updating packages

And adding EFCore Extensions use

* Add built-in option as a comment

* Fixing corrupted project file; updating packages
parent 8c42acc4
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Ardalis.GuardClauses" Version="1.2.3" /> <PackageReference Include="Ardalis.GuardClauses" Version="1.2.9" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
......
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework> <TargetFramework>netcoreapp2.2</TargetFramework>
<AssemblyName>CleanArchitecture.Infrastructure</AssemblyName> <AssemblyName>CleanArchitecture.Infrastructure</AssemblyName>
<PackageId>CleanArchitecture.Infrastructure</PackageId> <PackageId>CleanArchitecture.Infrastructure</PackageId>
</PropertyGroup> </PropertyGroup>
...@@ -10,11 +10,12 @@ ...@@ -10,11 +10,12 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Autofac" Version="4.8.1" /> <PackageReference Include="Ardalis.EFCore.Extensions" Version="1.0.1" />
<PackageReference Include="Autofac" Version="4.9.3" />
<PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.4" PrivateAssets="all"> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.6" PrivateAssets="all">
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.4" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.6" />
</ItemGroup> </ItemGroup>
</Project> </Project>
...@@ -3,6 +3,8 @@ using Microsoft.EntityFrameworkCore; ...@@ -3,6 +3,8 @@ using Microsoft.EntityFrameworkCore;
using System.Linq; using System.Linq;
using CleanArchitecture.Core.Entities; using CleanArchitecture.Core.Entities;
using CleanArchitecture.Core.SharedKernel; using CleanArchitecture.Core.SharedKernel;
using Ardalis.EFCore.Extensions;
using System.Reflection;
namespace CleanArchitecture.Infrastructure.Data namespace CleanArchitecture.Infrastructure.Data
{ {
...@@ -18,6 +20,16 @@ namespace CleanArchitecture.Infrastructure.Data ...@@ -18,6 +20,16 @@ namespace CleanArchitecture.Infrastructure.Data
public DbSet<ToDoItem> ToDoItems { get; set; } public DbSet<ToDoItem> ToDoItems { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ApplyAllConfigurationsFromCurrentAssembly();
// alternately this is built-in to EF Core 2.2
//modelBuilder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly());
}
public override int SaveChanges() public override int SaveChanges()
{ {
int result = base.SaveChanges(); int result = base.SaveChanges();
......
using CleanArchitecture.Core.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace CleanArchitecture.Infrastructure.Data.Config
{
public class ToDoConfiguration : IEntityTypeConfiguration<ToDoItem>
{
public void Configure(EntityTypeBuilder<ToDoItem> builder)
{
builder.Property(t => t.Title)
.IsRequired();
}
}
}
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework> <TargetFramework>netcoreapp2.2</TargetFramework>
<PreserveCompilationContext>true</PreserveCompilationContext> <PreserveCompilationContext>true</PreserveCompilationContext>
<AssemblyName>CleanArchitecture.Web</AssemblyName> <AssemblyName>CleanArchitecture.Web</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
...@@ -19,16 +19,16 @@ ...@@ -19,16 +19,16 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Autofac" Version="4.8.1" /> <PackageReference Include="Autofac" Version="4.9.3" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.3.0" /> <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.4.0" />
<PackageReference Include="Dapper" Version="1.50.5" /> <PackageReference Include="Dapper" Version="1.60.6" />
<PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.4" PrivateAssets="all"> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.6" PrivateAssets="all">
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.5" PrivateAssets="All" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" PrivateAssets="All" />
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="1.0.163" /> <PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="2.0.76" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="4.0.1" />
</ItemGroup> </ItemGroup>
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish"> <Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
......
...@@ -58,7 +58,6 @@ namespace CleanArchitecture.Web ...@@ -58,7 +58,6 @@ namespace CleanArchitecture.Web
// Populate the container using the service collection // Populate the container using the service collection
builder.Populate(services); builder.Populate(services);
// TODO: Add Registry Classes to eliminate reference to Infrastructure
Assembly webAssembly = Assembly.GetExecutingAssembly(); Assembly webAssembly = Assembly.GetExecutingAssembly();
Assembly coreAssembly = Assembly.GetAssembly(typeof(BaseEntity)); Assembly coreAssembly = Assembly.GetAssembly(typeof(BaseEntity));
Assembly infrastructureAssembly = Assembly.GetAssembly(typeof(EfRepository)); // TODO: Move to Infrastucture Registry Assembly infrastructureAssembly = Assembly.GetAssembly(typeof(EfRepository)); // TODO: Move to Infrastucture Registry
...@@ -68,11 +67,8 @@ namespace CleanArchitecture.Web ...@@ -68,11 +67,8 @@ namespace CleanArchitecture.Web
return new AutofacServiceProvider(applicationContainer); return new AutofacServiceProvider(applicationContainer);
} }
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{ {
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment()) if (env.IsDevelopment())
{ {
app.UseDeveloperExceptionPage(); app.UseDeveloperExceptionPage();
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework> <TargetFramework>netcoreapp2.2</TargetFramework>
<PreserveCompilationContext>true</PreserveCompilationContext> <PreserveCompilationContext>true</PreserveCompilationContext>
</PropertyGroup> </PropertyGroup>
...@@ -28,20 +28,20 @@ ...@@ -28,20 +28,20 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.4" PrivateAssets="all"> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.6" PrivateAssets="all">
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="2.1.3" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.1.1" /> <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
<PackageReference Include="Moq" Version="4.10.0" /> <PackageReference Include="Moq" Version="4.12.0" />
<PackageReference Include="NETStandard.Library" Version="2.0.3" /> <PackageReference Include="NETStandard.Library" Version="2.0.3" />
<PackageReference Include="xunit" Version="2.4.0" /> <PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.console" Version="2.4.0"> <PackageReference Include="xunit.runner.console" Version="2.4.1">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0"> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference> </PackageReference>
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
namespace CleanArchitecture.Tests namespace CleanArchitecture.Tests
{ {
// Learn more about test builders:
// https://ardalis.com/improve-tests-with-the-builder-pattern-for-test-data
public class ToDoItemBuilder public class ToDoItemBuilder
{ {
private ToDoItem _todo = new ToDoItem(); private ToDoItem _todo = new ToDoItem();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment