Ana içeriğe atla

Asp.Net Simple Membership Db Migration To Asp.Net Mvc

Merhabalar,
Bir zamanlar göz bebeğimiz olan Asp.Net Web Formlar ile gelen membership yapısı yerini .net core Mvc ile devam eden sürecete migration'a ihtiyaç duyabilir. Microsft bu konu ile ilgili zaten bir makale yayımladı. Arada kalan asp.net Mvc üyelik database aktarımları için şu şekilde bir yol izlenebilir.

Default migration için aşağıdaki script'i çağırabilir.


-- THIS SCRIPT NEEDS TO RUN FROM THE CONTEXT OF THE MEMBERSHIP DB
BEGIN TRANSACTION MigrateUsersAndRoles
USE TargetDatabase

-- INSERT USERS
INSERT INTO TargetDatabase.dbo.AspNetUsers
            (Id,
             UserName,           
             PasswordHash,
             SecurityStamp,
             EmailConfirmed,
             PhoneNumber,
             PhoneNumberConfirmed,
             TwoFactorEnabled,
             LockoutEndDateUtc,
             LockoutEnabled,
             AccessFailedCount,
             Email
             )
SELECT aspnet_Users.UserId,
       aspnet_Users.UserName,
   aspnet_Membership.Password,      
       NewID(),    
       1,
       null,
       0,      
       0,
       CASE        
         WHEN aspnet_Membership.IsLockedOut = 1 THEN Dateadd(year, 1000,Sysutcdatetime())
         ELSE NULL
       END,
       aspnet_Membership.IsLockedOut,     
       0,
       aspnet_Membership.Email
       
FROM   aspnet_Users
       LEFT OUTER JOIN aspnet_Membership
                    ON aspnet_Membership.ApplicationId =
                       aspnet_Users.ApplicationId
                       AND aspnet_Users.UserId = aspnet_Membership.UserId
       LEFT OUTER JOIN Target.dbo.AspNetUsers
                    ON aspnet_Membership.UserId = AspNetUsers.Id
WHERE  AspNetUsers.Id IS NULL

-- INSERT ROLES
INSERT INTO TargetDatabase.dbo.AspNetRoles(Id, Name)
SELECT RoleId, RoleName
FROM aspnet_Roles;

-- INSERT USER ROLES
INSERT INTO TargetDatabase.dbo.AspNetUserRoles(UserId, RoleId)
SELECT UserId, RoleId
FROM aspnet_UsersInRoles;

IF @@ERROR <> 0
  BEGIN
    ROLLBACK TRANSACTION MigrateUsersAndRoles
    RETURN
  END

COMMIT TRANSACTION MigrateUsersAndRoles

Yorumlar

Bu blogdaki popüler yayınlar

Esp32 Camera Taking Picture And Send To Server With AspNetMvc With Timer

Hi, we will use esp32camera to take picture and send to remote server with HttpClient library. RequiredItems:  Esp32Camera  Ftdi Programmer. 1Sd Card Arduino Programing IDE Min 5 unit  female to female jumper wire for setting connection esp32cam to Ftid Visual Studio IDE and a little bit .net c# codding information. Step:1 Adjust your esp32cam wires as below image  notice that if gray wire is connected to IO0 with GND it means that ready to upload codes! After uploding codes to esp32cam we need to remove jumper IO0 to start esp32cam.  Be sure that your arduino board configuration must be as below. Port is must be selected connected esp32cam usb on your computer. Format your SD Card Fat32 Formart before inserting to esp32cam After all upload finished you need to reset or repower esp32cam to run codes.  Step:2 Below copy blue colored codes and paste to arudnio ide. / /***...

Kredi Kartı BIN Listesi Web API

Merhabalar, son geliştirdiğimiz API banka kartlarının, Debit ya da Credit olup olmadığını kontrol edip, ayrıca hangi bankanın kartı olduğu ile ilgili bilgileri de ileten yapıdır. Tüm Türk bankalarının bin listeleri mevcuttur. Kullanım şekilde şu şekildedir. [HTTPGET] UserId=Global unique identifier CardNumber=String(Max=6,Min=6) http://binlist.rtayazilim.com/ListBin/{UserId}/{CardNumber} http://binlist.rtayazilim.com/ListBin/21d7fb2e-a63e-4cb3-8f4a-55fb87290627/557113 Result: {   "BankName": "AKBANK T.A.Ş.",   "CardType": "C",   "Message": "OK" } CardType : D/C                   D : Banka kartı taksit yapılamaz.                   C : Kredi Kartı taksit yapılabilir. BankName : Banka Adı Not: Maksimum günlük tüketilme limiti 2500 Adettir. Tam tüketim yetkisi almak için: rahmitugrulaltin@gmail.com

Asp.Net MVC 5 Identity Migration To AspNetCore Identity

 Merhabalar, Microsoft frame-work desteğini keseceğini açıkladığından beri gözümüze pek de rahat uyku girmiyor desek yeri var :) elbette bu kadar abartılacak bir durum yok ama büyük çapta çalışan projeleri .net core taşımak okadar kolay değil. Identity sınıfını taşınması için araştırmalarım soruncunda daha önceden de deneyimlediğimiz database üzerinde küçük bir sorgu çalıştırarak bütün yapıyı yeni identity tablolarına aktarabiliyoruz.  AspNet Membership den AspNet MVC 5 sürümü için daha önceden yayımladığım gönderiyi kontrol edebilirsiniz.  Hızlıca aşağıdaki Mssql Sorgusunu çalıştırabilirsiniz.   Şimdiden kolay gelsin.