linq2db / LinqToDB.Identity

ASP.NET Core Identity provider that uses LinqToDB.
https://linq2db.github.io/
MIT License
46 stars 9 forks source link

ASP.NET Core 2.0 support #11

Closed hahn-kev closed 5 years ago

hahn-kev commented 6 years ago

Can we get an updated release to support the new version of core?

I was able to setup this repo locally and get it working on 2.0 without much work, around 40 unit tests failed when I ran them, but I'm not sure if that's to be expected or not.

I can submit a pull request with my changes if that would speed things along.

ili commented 6 years ago

Hello @hahn-kev We do have a plan to support Core 2.0. Previously we do need to release linq2db with core 2.0 support. Mostly this is ready, I think we will make linq2db 2.0 RC this week & all dependent libs too.

For a while it would be available as RC from MyGet but mostly this would be production ready release.

ili commented 6 years ago

Now RC of v 2 are available on myget: https://www.myget.org/gallery/linq2db

About Identity, MS has introduces separate assembly with stores. We do use it, but target out own implementations derived from MS and implementing our interfaces (idea of using interfaces in generics looks for me more convenient then classes).

All tests are succeed for both frameworks

hahn-kev commented 6 years ago

Awesome! I just migrated over to that and it seems to be working just fine, I'll report any major issues I have.

One side note is that I did have a minor issue migrating with this error in quite a few places:

'IdentityRole<>' is an ambiguous reference between 'Microsoft.AspNetCore.Identity.IdentityRole<TKey>' and 'LinqToDB.Identity.IdentityRole<TKey>'

I used the LinqToDB classes as that's what IdentityDataConnection used. However a solution that does not require migration would be ideal, but that can be discussed in another issue.

ili commented 6 years ago

'IdentityRole<>' is an ambiguous reference between 'Microsoft.AspNetCore.Identity.IdentityRole' and 'LinqToDB.Identity.IdentityRole'

Yes, this is because of Microsoft introduces assembly with all identity entities... Our entities are inherited from Microsoft's. May be this is unnecessary complexity and we just need to use default entities.