Skip to content

Commit b6fccd3

Browse files
authored
upgrade to .net core 2.1
1 parent 6c83bd8 commit b6fccd3

File tree

19 files changed

+285
-285
lines changed

19 files changed

+285
-285
lines changed

.editorconfig

+5-1
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,8 @@ dotnet_naming_symbols.private_fields.applicable_kinds = field
2222
dotnet_naming_symbols.private_fields.applicable_accessibilities = private
2323

2424
dotnet_naming_style.prefix_underscore.capitalization = camel_case
25-
dotnet_naming_style.prefix_underscore.required_prefix = _
25+
dotnet_naming_style.prefix_underscore.required_prefix = _
26+
[*.cs]
27+
28+
# CS0659: Type overrides Object.Equals(object o) but does not override Object.GetHashCode()
29+
dotnet_diagnostic.CS0659.severity = silent

Directory.Build.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22

33
<PropertyGroup>
4-
<NetCoreAppVersion>netcoreapp2.0</NetCoreAppVersion>
4+
<NetCoreAppVersion>netcoreapp2.1</NetCoreAppVersion>
55
<NetStandardVersion>netstandard2.0</NetStandardVersion>
66

77
<AspNetCoreVersion>2.*</AspNetCoreVersion>

JsonApiDotnetCore.sln

+180-181
Large diffs are not rendered by default.
+13-13
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.IO;
44
using System.Linq;
@@ -10,17 +10,17 @@
1010

1111
namespace GettingStarted
1212
{
13-
public class Program
14-
{
15-
public static void Main(string[] args)
16-
{
17-
BuildWebHost(args).Run();
18-
}
19-
20-
public static IWebHost BuildWebHost(string[] args) =>
21-
WebHost.CreateDefaultBuilder(args)
22-
.UseStartup<Startup>()
23-
.UseUrls("http://localhost:5001")
24-
.Build();
13+
14+
15+
public class Program
16+
{
17+
public static void Main(string[] args)
18+
{
19+
CreateWebHostBuilder(args).Build().Run();
20+
}
21+
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
22+
WebHost.CreateDefaultBuilder(args)
23+
.UseStartup<Startup>()
24+
.UseUrls("http://localhost:5001");
2525
}
2626
}

src/Examples/JsonApiDotNetCoreExample/Program.cs

+6-5
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ namespace JsonApiDotNetCoreExample
55
{
66
public class Program
77
{
8-
public static void Main(string[] args) => BuildWebHost(args).Run();
9-
10-
public static IWebHost BuildWebHost(string[] args) =>
8+
public static void Main(string[] args)
9+
{
10+
CreateWebHostBuilder(args).Build().Run();
11+
}
12+
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
1113
WebHost.CreateDefaultBuilder(args)
12-
.UseStartup<Startup>()
13-
.Build();
14+
.UseStartup<Startup>();
1415
}
1516
}

src/Examples/JsonApiDotNetCoreExample/Startup.cs

+14-13
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,23 @@ public Startup(IHostingEnvironment env)
2828
public virtual IServiceProvider ConfigureServices(IServiceCollection services)
2929
{
3030
var loggerFactory = new LoggerFactory();
31-
loggerFactory.AddConsole(LogLevel.Warning);
3231
services
3332
.AddSingleton<ILoggerFactory>(loggerFactory)
33+
.AddLogging(builder =>
34+
{
35+
builder.AddConsole();
36+
builder.AddConfiguration(Config.GetSection("Logging"));
37+
})
3438
.AddDbContext<AppDbContext>(options => options.UseNpgsql(GetDbConnectionString()), ServiceLifetime.Transient)
35-
.AddJsonApi(
36-
options =>
37-
{
38-
options.Namespace = "api/v1";
39-
options.DefaultPageSize = 5;
40-
options.IncludeTotalRecordCount = true;
41-
options.EnableResourceHooks = true;
42-
options.LoaDatabaseValues = true;
43-
},
44-
discovery => discovery.AddCurrentAssembly());
45-
39+
.AddJsonApi(options =>
40+
{
41+
options.Namespace = "api/v1";
42+
options.DefaultPageSize = 5;
43+
options.IncludeTotalRecordCount = true;
44+
options.EnableResourceHooks = true;
45+
options.LoaDatabaseValues = true;
46+
},
47+
discovery => discovery.AddCurrentAssembly());
4648
return services.BuildServiceProvider();
4749
}
4850

@@ -53,7 +55,6 @@ public virtual void Configure(
5355
AppDbContext context)
5456
{
5557
context.Database.EnsureCreated();
56-
loggerFactory.AddConsole(Config.GetSection("Logging"));
5758
app.UseJsonApi();
5859
}
5960

Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Microsoft.AspNetCore;
1+
using Microsoft.AspNetCore;
22
using Microsoft.AspNetCore.Hosting;
33

44
namespace NoEntityFrameworkExample
@@ -7,12 +7,10 @@ public class Program
77
{
88
public static void Main(string[] args)
99
{
10-
BuildWebHost(args).Run();
10+
CreateWebHostBuilder(args).Build().Run();
1111
}
12-
13-
public static IWebHost BuildWebHost(string[] args) =>
12+
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
1413
WebHost.CreateDefaultBuilder(args)
15-
.UseStartup<Startup>()
16-
.Build();
14+
.UseStartup<Startup>();
1715
}
1816
}

src/Examples/NoEntityFrameworkExample/Startup.cs

+11-14
Original file line numberDiff line numberDiff line change
@@ -32,31 +32,28 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
3232
{
3333
// Add framework services.
3434
var mvcBuilder = services.AddMvcCore();
35-
36-
services.AddJsonApi(
37-
options => options.Namespace = "api/v1",
38-
resources: resources => resources.AddResource<TodoItem>("custom-todo-items"),
39-
mvcBuilder: mvcBuilder
40-
);
41-
35+
services.AddLogging(builder =>
36+
{
37+
builder.AddConfiguration(Configuration.GetSection("Logging"));
38+
builder.AddConsole();
39+
}).AddJsonApi(
40+
options => options.Namespace = "api/v1",
41+
resources: resources => resources.AddResource<TodoItem>("custom-todo-items"),
42+
mvcBuilder: mvcBuilder
43+
);
4244
services.AddScoped<IResourceService<TodoItem>, TodoItemService>();
43-
4445
var optionsBuilder = new DbContextOptionsBuilder<AppDbContext>();
4546
optionsBuilder.UseNpgsql(Configuration.GetValue<string>("Data:DefaultConnection"));
4647
services.AddSingleton<IConfiguration>(Configuration);
47-
services.AddSingleton<DbContextOptions<AppDbContext>>(optionsBuilder.Options);
48+
services.AddSingleton(optionsBuilder.Options);
4849
services.AddScoped<AppDbContext>();
49-
5050
return services.BuildServiceProvider();
5151
}
5252

5353
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
54-
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, AppDbContext context)
54+
public void Configure(IApplicationBuilder app, AppDbContext context)
5555
{
56-
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
57-
5856
context.Database.EnsureCreated();
59-
6057
app.UseJsonApi();
6158
}
6259
}
+4-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Microsoft.AspNetCore;
1+
using Microsoft.AspNetCore;
22
using Microsoft.AspNetCore.Hosting;
33

44
namespace ReportsExample
@@ -7,12 +7,10 @@ public class Program
77
{
88
public static void Main(string[] args)
99
{
10-
BuildWebHost(args).Run();
10+
CreateWebHostBuilder(args).Build().Run();
1111
}
12-
13-
public static IWebHost BuildWebHost(string[] args) =>
12+
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
1413
WebHost.CreateDefaultBuilder(args)
15-
.UseStartup<Startup>()
16-
.Build();
14+
.UseStartup<Startup>();
1715
}
1816
}

src/JsonApiDotNetCore/Internal/ResourceGraph.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ private IEnumerable<IResourceField> Getter<T>(Expression<Func<T, dynamic>> selec
9393
targeted.Add(available.Single(f => f.ExposedInternalMemberName == memberExpression.Member.Name));
9494
return targeted;
9595
}
96-
catch (Exception ex)
96+
catch (InvalidOperationException)
9797
{
9898
ThrowNotExposedError(memberExpression.Member.Name, type);
9999
}
@@ -115,7 +115,7 @@ private IEnumerable<IResourceField> Getter<T>(Expression<Func<T, dynamic>> selec
115115
}
116116
return targeted;
117117
}
118-
catch (Exception ex)
118+
catch (InvalidOperationException)
119119
{
120120
ThrowNotExposedError(memberName, type);
121121
}

src/JsonApiDotNetCore/Serialization/Server/ResponseSerializer.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections;
33
using System.Collections.Generic;
44
using JsonApiDotNetCore.Internal.Contracts;

test/DiscoveryTests/DiscoveryTests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@
1616
<PackageReference Include="Moq" Version="$(MoqVersion)" />
1717
</ItemGroup>
1818

19-
</Project>
19+
</Project>

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/CreatingDataTests.cs

+8-6
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec
2424
[Collection("WebHostCollection")]
2525
public class CreatingDataTests : EndToEndTest
2626
{
27-
private Faker<TodoItem> _todoItemFaker;
28-
private Faker<Person> _personFaker;
27+
private readonly Faker<TodoItem> _todoItemFaker;
28+
private readonly Faker<Person> _personFaker;
2929

3030
public CreatingDataTests(TestFixture<TestStartup> fixture) : base(fixture)
3131
{
@@ -155,9 +155,11 @@ public async Task CreateWithRelationship_HasManyAndInclude_IsCreatedAndIncludes(
155155
var serializer = GetSerializer<TodoItemCollection>(e => new { }, e => new { e.TodoItems, e.Owner });
156156

157157
var owner = new Person();
158-
var todoItem = new TodoItem();
159-
todoItem.Owner = owner;
160-
todoItem.Description = "Description";
158+
var todoItem = new TodoItem
159+
{
160+
Owner = owner,
161+
Description = "Description"
162+
};
161163
dbContext.People.Add(owner);
162164
dbContext.TodoItems.Add(todoItem);
163165
dbContext.SaveChanges();
@@ -340,7 +342,7 @@ public async Task CreateRelationship_ToManyWithImplicitRemove_IsCreated()
340342
var oldPersonDb = dbContext.People.AsNoTracking().Where(p => p.Id == currentPerson.Id).Include(e => e.TodoItems).Single();
341343
AssertEqualStatusCode(HttpStatusCode.Created, response);
342344
Assert.Equal(2, newPersonDb.TodoItems.Count);
343-
Assert.Equal(1, oldPersonDb.TodoItems.Count);
345+
Assert.Single(oldPersonDb.TodoItems);
344346
Assert.NotNull(newPersonDb.TodoItems.SingleOrDefault(ti => ti.Id == firstTd.Id));
345347
Assert.NotNull(newPersonDb.TodoItems.SingleOrDefault(ti => ti.Id == secondTd.Id));
346348
Assert.NotNull(oldPersonDb.TodoItems.SingleOrDefault(ti => ti.Id == thirdTd.Id));

test/JsonApiDotNetCoreExampleTests/Helpers/Startups/ClientGeneratedIdsStartup.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@ public ClientGeneratedIdsStartup(IHostingEnvironment env)
1919
public override IServiceProvider ConfigureServices(IServiceCollection services)
2020
{
2121
var loggerFactory = new LoggerFactory();
22-
loggerFactory.AddConsole(LogLevel.Warning);
2322
var mvcBuilder = services.AddMvcCore();
2423
services
2524
.AddSingleton<ILoggerFactory>(loggerFactory)
25+
.AddLogging(builder =>
26+
{
27+
builder.AddConsole();
28+
})
2629
.AddDbContext<AppDbContext>(options => options.UseNpgsql(GetDbConnectionString()), ServiceLifetime.Transient)
2730
.AddJsonApi(options => {
2831
options.Namespace = "api/v1";

test/UnitTests/Builders/LinkBuilderTests.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -115,22 +115,22 @@ public void BuildRelationshipLinks_GlobalResourceAndAttrConfiguration_ExpectedLi
115115
[InlineData(Link.All, Link.All, _topSelf, true)]
116116
[InlineData(Link.All, Link.Self, _topSelf, false)]
117117
[InlineData(Link.All, Link.Paging, null, true)]
118-
[InlineData(Link.All, Link.None, null, null)]
118+
[InlineData(Link.All, Link.None, null, false)]
119119
[InlineData(Link.Self, Link.NotConfigured, _topSelf, false)]
120120
[InlineData(Link.Self, Link.All, _topSelf, true)]
121121
[InlineData(Link.Self, Link.Self, _topSelf, false)]
122122
[InlineData(Link.Self, Link.Paging, null, true)]
123-
[InlineData(Link.Self, Link.None, null, null)]
123+
[InlineData(Link.Self, Link.None, null, false)]
124124
[InlineData(Link.Paging, Link.NotConfigured, null, true)]
125125
[InlineData(Link.Paging, Link.All, _topSelf, true)]
126126
[InlineData(Link.Paging, Link.Self, _topSelf, false)]
127127
[InlineData(Link.Paging, Link.Paging, null, true)]
128-
[InlineData(Link.Paging, Link.None, null, null)]
128+
[InlineData(Link.Paging, Link.None, null, false)]
129129
[InlineData(Link.None, Link.NotConfigured, null, false)]
130130
[InlineData(Link.None, Link.All, _topSelf, true)]
131131
[InlineData(Link.None, Link.Self, _topSelf, false)]
132132
[InlineData(Link.None, Link.Paging, null, true)]
133-
[InlineData(Link.None, Link.None, null, null)]
133+
[InlineData(Link.None, Link.None, null, false)]
134134
public void BuildTopLevelLinks_GlobalAndResourceConfiguration_ExpectedLinks(Link global,
135135
Link resource,
136136
object expectedSelfLink,

0 commit comments

Comments
 (0)