Updating stores to use TypeDescriptor for type conversion

This commit is contained in:
Suhas Joshi 2015-04-15 15:13:52 -07:00
parent de69da85fe
commit afff831d62
4 changed files with 5 additions and 12 deletions

View File

@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Security.Claims;
using System.Threading;
@ -160,7 +161,7 @@ namespace Microsoft.AspNet.Identity.EntityFramework
{
return default(TKey);
}
return (TKey)Convert.ChangeType(id, typeof(TKey));
return (TKey)TypeDescriptor.GetConverter(typeof(TKey)).ConvertFromInvariantString(id);
}
public virtual string ConvertIdToString(TKey id)

View File

@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.Linq;
using System.Security.Claims;
@ -212,7 +213,7 @@ namespace Microsoft.AspNet.Identity.EntityFramework
{
return default(TKey);
}
return (TKey)Convert.ChangeType(id, typeof(TKey));
return (TKey)TypeDescriptor.GetConverter(typeof(TKey)).ConvertFromInvariantString(id);
}
public virtual string ConvertIdToString(TKey id)

View File

@ -12,6 +12,7 @@
"dependencies": {
"System.Collections": "4.0.10-beta-*",
"System.ComponentModel": "4.0.0-beta-*",
"System.ComponentModel.TypeConverter": "4.0.0-beta-*",
"System.Diagnostics.Debug": "4.0.10-beta-*",
"System.Diagnostics.Tools": "4.0.0-beta-*",
"System.Globalization": "4.0.10-beta-*",

View File

@ -43,21 +43,11 @@ namespace Microsoft.AspNet.Identity.EntityFramework.Test
public class ApplicationUserStore : UserStore<GuidUser, GuidRole, TestDbContext, Guid>
{
public ApplicationUserStore(TestDbContext context) : base(context) { }
public override Guid ConvertIdFromString(string userId)
{
return new Guid(userId);
}
}
public class ApplicationRoleStore : RoleStore<GuidRole, TestDbContext, Guid>
{
public ApplicationRoleStore(TestDbContext context) : base(context) { }
public override Guid ConvertIdFromString(string id)
{
return new Guid(id);
}
}
protected override void AddUserStore(IServiceCollection services, object context = null)