Use consistent sql parameter notation.
Update to latest identity.core, and custom mysql.data.
Auto versioning to date.
Split UserStore into partial classes for each interface they are implementing.
Add a few others which were not already present (NotImplemented on their methods currently).
MS made some of their own updates in their Asp.Net open framework code under Samples.
Made the Stores generic (allowing further extension of IdentityUser and friends). And implemented a bunch of the interfaces we just split into partial classes.
Using their implementations for now. Some methods still unimplemented or return null.
We're going to switch from guids to plain uint's in the underlying mysql db to store id's. The models will continue to use Strings for their id's (less hassle changing nearly every interface generic and method call).
Also continued with generic design for RoleStore/Table.
GetStrValue use same Convert.ToString method (because our underlying id's are ints now, we can't cast to String).
Also add simple Insert that returns last id for auto_increment fields.
Cascade on update constraints as well, and email is not null.
Forgot to remove id's on insertion in tables (they are auto_increment). And all table names got changed to lowercase.
Implemented GetUserByEmail method, and correctly use it in EmailStore.
Combine user reading logic into simple function. There was also a mistake all booleans were being read as True/False strings (not the numbers 1 or 0). And not all fields were being read between the single and List reading of users.