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

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. 

Nesnelerin Interneti IoT Teknolojisi

Gelecek Ve Nesnelerin  İnterneti   Son zamanlarda kulağımıza çokça çalınan bir terim “ nesnelerin interneti ”.    Peki nedir nesnelerin interneti?  Evimizdeki, cebimizdeki, ofisimizdeki ve diğer yaşam alanlarımızda bulunan tüm nesneler hakkında her zaman bilgi sahibi olmayabiliriz. Bu nesnelerden haber almak ya da yaşam döngülerine şahit olmak için sürekli gözetlememiz ya da gözetletmemiz gerekmektedir ayrıca bu gözlemleri raporlamak, işlemek ve bir sonuç çıkarmak gerekecektir. Işte  bu işleri bizim için sürekli takip edecek, takip ettiği nesnelerin durumlarını depolayacak, uzak diyarlara iletecek ve anlık servis edebilecek yaşam döngüsünü n tamamı nesnelerin internetini oluşturmaktadır. Kısacası bir nesnenin internet ortamına  taşınmasıdır, t aşınması yetemez elbette tam tersi tepkime oluşturması  ihtiyaç  olacaktır. Kısaca şu şekilde örneklendirebiliriz.   Klasik olabilir ama evdeki klima ya da kombinin otomatik o...

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