Skip to content

Commit 4277709

Browse files
Ticket #7 : Fix 'add-migration' error
1 parent db9cd7a commit 4277709

5 files changed

Lines changed: 13 additions & 6 deletions

File tree

samples/EFCore.Cassandra.Samples/FakeDbContext.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
2727
.ToTable("applicants", "cv")
2828
.HasKey(p => new { p.Id, p.Order });
2929
modelBuilder.Entity<Applicant>()
30-
.ForCassandraSetClusterColumns(s => new { s.Order });
30+
.ForCassandraSetClusterColumns(_ => _.Order)
31+
.ForCassandraSetClusteringOrderBy(new[] { new CassandraClusteringOrderByOption("Order", CassandraClusteringOrderByOptions.ASC) });
3132
modelBuilder.Entity<Applicant>()
3233
.Property(p => p.TimeUuid)
3334
.HasConversion(new TimeUuidToGuidConverter());

samples/EFCore.Cassandra.Samples/Migrations/20200521175814_Init.Designer.cs renamed to samples/EFCore.Cassandra.Samples/Migrations/20200616081423_InitialCreate.Designer.cs

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/EFCore.Cassandra.Samples/Migrations/20200521175814_Init.cs renamed to samples/EFCore.Cassandra.Samples/Migrations/20200616081423_InitialCreate.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
namespace EFCore.Cassandra.Samples.Migrations
99
{
10-
public partial class Init : Migration
10+
public partial class InitialCreate : Migration
1111
{
1212
protected override void Up(MigrationBuilder migrationBuilder)
1313
{

samples/EFCore.Cassandra.Samples/Migrations/FakeDbContextModelSnapshot.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ protected override void BuildModel(ModelBuilder modelBuilder)
9595
b.ToTable("applicants","cv");
9696

9797
b.HasAnnotation("Cassandra:ClusterColumns", new[] { "Order" });
98+
99+
b.HasAnnotation("Cassandra:ClusteringOrderByOptions", "[{\"ColumnName\":\"Order\",\"Order\":0}]");
98100
});
99101

100102
modelBuilder.Entity("EFCore.Cassandra.Samples.Models.CV", b =>

src/EFCore.Cassandra/Extensions/CassandraEntityTypeExtensions.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
33
using Microsoft.EntityFrameworkCore.Cassandra.Metadata.Internal;
44
using Microsoft.EntityFrameworkCore.Metadata;
5+
using Newtonsoft.Json;
56
using System.Collections.Generic;
67

78
namespace Microsoft.EntityFrameworkCore
@@ -38,7 +39,7 @@ public static IEnumerable<CassandraClusteringOrderByOption> GetClusteringOrderBy
3839
return new CassandraClusteringOrderByOption[0];
3940
}
4041

41-
return (IEnumerable<CassandraClusteringOrderByOption>)result.Value;
42+
return JsonConvert.DeserializeObject<IEnumerable<CassandraClusteringOrderByOption>>(result.Value.ToString());
4243
}
4344

4445
public static void SetClusterColumns(this IMutableEntityType entityType, IEnumerable<string> clusterColumns)
@@ -53,7 +54,8 @@ public static void SetStaticColumns(this IMutableEntityType entityType, IEnumera
5354

5455
public static void SetClusteringOrderByOptions(this IMutableEntityType entityType, IEnumerable<CassandraClusteringOrderByOption> options)
5556
{
56-
entityType.SetOrRemoveAnnotation(CassandraAnnotationNames.ClusteringOrderByOptions, options);
57+
var json = JsonConvert.SerializeObject(options);
58+
entityType.SetOrRemoveAnnotation(CassandraAnnotationNames.ClusteringOrderByOptions, json);
5759
}
5860
}
5961
}

0 commit comments

Comments
 (0)