Skip to content

Commit 1a86c9a

Browse files
committed
refactor(Identifiable): rename property to StringId
1 parent a0a4e51 commit 1a86c9a

File tree

5 files changed

+14
-13
lines changed

5 files changed

+14
-13
lines changed

src/JsonApiDotNetCore/Builders/DocumentBuilder.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ private DocumentData _getData(ContextEntity contextEntity, IIdentifiable entity)
9494
var data = new DocumentData
9595
{
9696
Type = contextEntity.EntityName,
97-
Id = entity.Id.ToString()
97+
Id = entity.StringId
9898
};
9999

100100
if (_jsonApiContext.IsRelationshipData)
@@ -124,8 +124,8 @@ private void _addRelationships(DocumentData data, ContextEntity contextEntity, I
124124
{
125125
Links = new Links
126126
{
127-
Self = linkBuilder.GetSelfRelationLink(contextEntity.EntityName, entity.Id.ToString(), r.InternalRelationshipName),
128-
Related = linkBuilder.GetRelatedRelationLink(contextEntity.EntityName, entity.Id.ToString(), r.InternalRelationshipName)
127+
Self = linkBuilder.GetSelfRelationLink(contextEntity.EntityName, entity.StringId, r.InternalRelationshipName),
128+
Related = linkBuilder.GetRelatedRelationLink(contextEntity.EntityName, entity.StringId, r.InternalRelationshipName)
129129
}
130130
};
131131

@@ -175,7 +175,7 @@ private DocumentData _getIncludedEntity(IIdentifiable entity)
175175
var data = new DocumentData
176176
{
177177
Type = contextEntity.EntityName,
178-
Id = entity.Id.ToString()
178+
Id = entity.StringId
179179
};
180180

181181
data.Attributes = new Dictionary<string, object>();
@@ -205,7 +205,7 @@ private List<Dictionary<string, string>> _getRelationships(IEnumerable<object> e
205205
{
206206
relationships.Add(new Dictionary<string, string> {
207207
{"type", typeName.EntityName.Dasherize() },
208-
{"id", ((IIdentifiable)entity).Id.ToString() }
208+
{"id", ((IIdentifiable)entity).StringId }
209209
});
210210
}
211211
return relationships;
@@ -218,7 +218,7 @@ private Dictionary<string, string> _getRelationship(object entity, string relati
218218

219219
return new Dictionary<string, string> {
220220
{"type", typeName.EntityName.Dasherize() },
221-
{"id", ((IIdentifiable)entity).Id.ToString() }
221+
{"id", ((IIdentifiable)entity).StringId }
222222
};
223223
}
224224
}

src/JsonApiDotNetCore/Internal/Generics/GenericProcessor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ public async Task UpdateRelationshipsAsync(object parent, RelationshipAttribute
2323

2424
if(relationship.IsHasMany)
2525
{
26-
var entities = _context.GetDbSet<T>().Where(x => relationshipIds.Contains(x.Id.ToString())).ToList();
26+
var entities = _context.GetDbSet<T>().Where(x => relationshipIds.Contains(x.StringId)).ToList();
2727
relationship.SetValue(parent, entities);
2828
}
2929
else
3030
{
31-
var entity = _context.GetDbSet<T>().SingleOrDefault(x => relationshipIds.First() == x.Id.ToString());
31+
var entity = _context.GetDbSet<T>().SingleOrDefault(x => relationshipIds.First() == x.StringId);
3232
relationship.SetValue(parent, entity);
3333
}
3434

src/JsonApiDotNetCore/Models/IIdentifiable.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ namespace JsonApiDotNetCore.Models
22
{
33
public interface IIdentifiable
44
{
5-
string Id { get; set; }
5+
string StringId { get; set; }
66
}
77

88
public interface IIdentifiable<T> : IIdentifiable
99
{
10-
new T Id { get; set; }
10+
T Id { get; set; }
1111
}
1212
}

src/JsonApiDotNetCore/Models/Identifiable.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using System;
2-
using System.Reflection;
2+
using System.ComponentModel.DataAnnotations.Schema;
33
using JsonApiDotNetCore.Internal;
44

55
namespace JsonApiDotNetCore.Models
@@ -11,7 +11,8 @@ public class Identifiable<T> : IIdentifiable<T>, IIdentifiable
1111
{
1212
public virtual T Id { get; set; }
1313

14-
string IIdentifiable.Id
14+
[NotMapped]
15+
public string StringId
1516
{
1617
get { return GetStringId(Id); }
1718
set { Id = (T)GetConcreteId(value); }

src/JsonApiDotNetCore/Serialization/JsonApiDeSerializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ private static object DataToObject(DocumentData data, IJsonApiContext context)
6060
var identifiableEntity = (IIdentifiable)entity;
6161

6262
if (data.Id != null)
63-
identifiableEntity.Id = data.Id;
63+
identifiableEntity.StringId = data.Id;
6464

6565
return identifiableEntity;
6666
}

0 commit comments

Comments
 (0)